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

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

2 پاسخ

+3 امتیاز
قبل توسط (1.1هزار امتیاز)

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

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

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

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

+1 امتیاز
قبل توسط (778 امتیاز)
یکی دیگر از خاصیت های Entity های managed این است که فیلد های lazy آن هنگام فراخوانی از دیتابیس پر می شوند.

سوالات مشابه

0 امتیاز
1 پاسخ 371 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 496 بازدید
+2 امتیاز
2 پاسخ 835 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
0 پاسخ 398 بازدید
0 امتیاز
1 پاسخ 708 بازدید
0 امتیاز
1 پاسخ 1.0هزار بازدید
0 امتیاز
1 پاسخ 507 بازدید
0 امتیاز
1 پاسخ 493 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 482 بازدید
0 امتیاز
1 پاسخ 1.0هزار بازدید
...