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 پاسخ 330 بازدید
+1 امتیاز
1 پاسخ 445 بازدید
+1 امتیاز
1 پاسخ 4.9هزار بازدید
0 امتیاز
1 پاسخ 240 بازدید
0 امتیاز
1 پاسخ 298 بازدید
+2 امتیاز
1 پاسخ 538 بازدید
+1 امتیاز
0 پاسخ 262 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
0 امتیاز
1 پاسخ 258 بازدید
+1 امتیاز
1 پاسخ 666 بازدید
+1 امتیاز
1 پاسخ 604 بازدید
...