توضیح درباره استفاده hibernate از proxy

+1 رأی
میانگین بازدید روزانه 0.1134 بازدید
با سلام

این که hibernate از proxy در روابطی مثل many to one استفاده می کند یعنی چی؟ در بعضی موارد در error های hibernate به proxy بر می خوریم.

منظور proxy design pattern هست یا چیزی دیگه ای؟

ببخشید اگه سؤال مبتدی بود.
سوال 3 سال قبل در تالار برنامه نویسی توسط java_ (743 امتیاز)
ویرایش 3 سال قبل توسط Saeed Zarinfam

1 جواب

+2 رأی
 
بهترین جواب

بله منظور همان الگوی طراحی proxy است. Hibernate برای پیاده سازی مفهوم lazy loading از الگوی طراحی proxy استفاده می کند و کلاس های proxy را بصورت داینامیک تولید می کند. برای روشنتر شدن مطلب کلاس User را در نظر بگیرید که سه فیلد id, name و لیستی از Address ها دارد، حال اگر بخواهیم یک User را از دیتابیس بگیریم آیا باید تمام فیلد های شئ User مقدار داشته باشد؟ در Hibernate وقتی شئ User از دیتابیس گرفته می شود، Hibernate یک کلاس Proxy برای کلاس User ایجاد می کند که از کلاس User ارث برده است و یک شئ از آن کلاس proxy برای ما بر می گرداند که فقط فیلد های رده اول (first level) آن مقدار دارد (id و name) و فیلد listOfAddresses مقدار ندارد و اگر آدرس های کاربر را بخواهید باید متد getListOfAddress شئ proxy را فراخوانی کنید تا به آن مقادیر دسترسی داشته باشید.

جواب 3 سال قبل توسط Saeed Zarinfam (1,435 امتیاز)
انتخاب شده در 3 سال قبل توسط java_

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

0 رأی
1 جواب میانگین بازدید روزانه 0.07121 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.2331 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.58132 بازدید
سوال 7 ماه قبل در تالار برنامه نویسی توسط یوری (314 امتیاز)
+1 رأی
0 جواب میانگین بازدید روزانه 0.3990 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.493 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.2150 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1386 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.44328 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0969 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1122 بازدید
کانال تلگرام جواب یاب
...