منظور از managed شدن یک Entity در JPA چیست؟

0 رأی
میانگین بازدید روزانه 0.08119 بازدید

منظور از managed شدن یک Entity در JPA چیست؟

سوال جاری به یکی از جواب های این سوال مرتبط است: تفاوت متد های persist و merge در JPA چیست؟
سوال 3 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,216 امتیاز)

2 جواب

+3 رأی

چرخه عمر یک Entity در JPA بصورت زیر است:

یک Entity وقتی در دیتابیس دخیره شده باشد و با همان مقادیر دیتابیس درون EntityManager هم وجود داشته باشد (یعنی درون رم) در وضعیت managed قرار دارد. که این حالت در دو حالت اتفاق می افتد:

  • وقتی که Entity با استفاده از متد persist ذخیره می شود.
  • وقتی که Entity با استفاده از EntityManager از دیتابیس خوانده می شود.
  • وقتی که Entity در حالت detached قرار دارد با فراخوانی متد merge به حالت managed در می آید.

یکی از خصوصیات مهم Entity های managed این است که اگر در یک transaction فعال، ویرایش شوند، تغییرات آن بصورت خودکار توسط EntityManager تشخیص داده می شود و در زمان commit آن transaction درون دیتابیس اعمال می شود (بدون فراخوانی متد های persist یا merge).

جواب 3 سال قبل توسط Saeed Zarinfam (1,216 امتیاز)
+1 رأی
یکی دیگر از خاصیت های Entity های managed این است که فیلد های lazy آن هنگام فراخوانی از دیتابیس پر می شوند.
جواب 7 ماه قبل توسط java_ (726 امتیاز)

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.0446 بازدید
سوال 3 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,216 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.07108 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.13228 بازدید
سوال 4 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,216 امتیاز)
+1 رأی
0 جواب میانگین بازدید روزانه 0.08118 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.09135 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1176 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0686 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.07111 بازدید
سوال 4 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,216 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.0473 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.2643 بازدید
کانال تلگرام جواب یاب
...