0 امتیاز
قبل در برنامه نویسی توسط (186 امتیاز)
با سلام

با استفاده از mapper  در خط تولید wise فیلدهای ویرایش شده توسط کاربر در بروزر  را در اشیا موجود در jpa-context دریافت می کنیم. مقادیر قبلی این فیلدها در دیتابیس در لایه manager مورد نیاز هستند تا برای اهداف دیگری مورد استفاده قرار گیرند اما با توجه به اینکه این تغییر به صورت اتوماتیک توسط mapper در jpa-context  اتفاق افتاده است dao هم ناز می کند و دیتا را از دیتابیس برایمان نمی آورد و همان جدیدها را تحویل می دهد.

لطفا تکه کدی را به ما بدهید که در آن به مقدارهای قبلی فیلدها دسترسی داشته باشیم.

آیا این امکان وجود ندارد که به  mapper بتوانیم اعلام کنیم که شی را در persitent-context ایجاد کند یا خارج از آن؟

ممنون
قبل توسط (186 امتیاز)
با توجه به اینکه jpa اشیا تغییر یافته در context را ذخیره میکند انتقال مستقیم به context ایده خوبی نیست. بهتر است برنامه نویس به طور شفاف در کد تغییر یاد شده را مدیریت کند.

1 پاسخ

+1 امتیاز
قبل توسط (1.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

به راحتی می توانید enrich را برابر false قرار بدهید تا ارتباط با پایگاه داده را غیرفعال کنید. به مثال زیر توجه بفرمایید.

  @Override
  public ActionResult<java.lang.String> saveOrUpdate(
		  @Mapper(value={ "*"}, enrich=false) 
		  UserEntity entity) {
    return super.saveOrUpdate(entity);
  }

 

سوالات مشابه

0 امتیاز
1 پاسخ 503 بازدید
+1 امتیاز
1 پاسخ 580 بازدید
+1 امتیاز
1 پاسخ 52.1هزار بازدید
0 امتیاز
1 پاسخ 360 بازدید
0 امتیاز
1 پاسخ 413 بازدید
+2 امتیاز
1 پاسخ 739 بازدید
+1 امتیاز
0 پاسخ 365 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
0 امتیاز
1 پاسخ 306 بازدید
+1 امتیاز
1 پاسخ 817 بازدید
+1 امتیاز
1 پاسخ 859 بازدید
...