بله منظور همان الگوی طراحی 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 را فراخوانی کنید تا به آن مقادیر دسترسی داشته باشید.
تبلیغات در جواب یاب
اخبار
سیستم امتیازدهی
دسترسی کاربران
داغ ترین سوال ها
پربازدیدترین سوال ها