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 پاسخ 331 بازدید
+1 امتیاز
1 پاسخ 453 بازدید
+1 امتیاز
1 پاسخ 4.9هزار بازدید
0 امتیاز
1 پاسخ 242 بازدید
0 امتیاز
1 پاسخ 298 بازدید
+2 امتیاز
1 پاسخ 545 بازدید
+1 امتیاز
0 پاسخ 263 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط gatity (139 امتیاز)
0 امتیاز
1 پاسخ 259 بازدید
+1 امتیاز
1 پاسخ 670 بازدید
+1 امتیاز
1 پاسخ 613 بازدید
...