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 پاسخ 502 بازدید
+1 امتیاز
1 پاسخ 576 بازدید
+1 امتیاز
1 پاسخ 52.1هزار بازدید
0 امتیاز
1 پاسخ 359 بازدید
0 امتیاز
1 پاسخ 412 بازدید
+2 امتیاز
1 پاسخ 739 بازدید
+1 امتیاز
0 پاسخ 364 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
0 امتیاز
1 پاسخ 305 بازدید
+1 امتیاز
1 پاسخ 817 بازدید
+1 امتیاز
1 پاسخ 858 بازدید
...