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

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

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

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

ببخشید اگه سؤال مبتدی بود.
سوال 3 سال قبل در تالار برنامه نویسی توسط java_ (763 امتیاز)
ویرایش 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 (249 امتیاز)
انتخاب شده در 3 سال قبل توسط java_

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

0 رأی
1 جواب میانگین بازدید روزانه 0.07128 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.22375 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.7845 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.9764 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.3926 بازدید
سوال 2 ماه قبل در تالار برنامه نویسی توسط masoud65 (15 امتیاز)
0 رأی
3 جواب میانگین بازدید روزانه 0.56181 بازدید
سوال 10 ماه قبل در تالار برنامه نویسی توسط یوری (426 امتیاز)
+1 رأی
0 جواب میانگین بازدید روزانه 0.32103 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.33108 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1859 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1292 بازدید
کانال تلگرام جواب یاب
...