كيفية تهيئة السبات الكيانات المنال البعيد طريقة الاتصال ؟

StackOverflow https://stackoverflow.com/questions/119732

  •  02-07-2019
  •  | 
  •  

سؤال

عند استدعاء خدمة التحكم عن بعد (على سبيل المثالعلى RMI) لتحميل قائمة الكيانات من قاعدة بيانات باستخدام السبات ، كيف تدير ذلك إلى تهيئة كافة الحقول والمراجع العميل يحتاج ؟

على سبيل المثال:العميل المكالمات عن بعد طريقة لتحميل جميع العملاء.مع كل عميل يريد العميل الإشارة إلى العميل قائمة اشترى المواد تهيئة.

يمكنني تخيل الحلول التالية:

  1. كتابة الأسلوب البعيد عن كل استعلام ، والتي تهيئة الحقول المطلوبة (مثلا ، السبات.تهيئة()) وإرجاع كائنات المجال إلى العميل.

  2. مثل 1.ولكن إنشاء DTOs

  3. تقسيم الاستعلام إلى استعلامات متعددة مثلواحد للعملاء الثاني للعملاء' مقالات و السماح للعميل إدارة النتائج

  4. الأسلوب البعيد يأخذ DetachedCriteria ، والذي يتم إنشاؤه من قبل العميل وتنفيذها من قبل الملقم

  5. وضع مخصص "التحميل المسبق-نمط" ، أيطريقة للعميل أن يحدد بوضوح أي خصائص التحميل المسبق.

هل كانت مفيدة؟

المحلول

لقد استخدمت 1 في الماضي وانها عملت بشكل جيد.

نصائح أخرى

أعتقد أن الرقم 5 هو السبب في وجود "جلب" الوارد في HQL.يمكنك استخدام هذا أو هو مشكلة أكثر تعقيدا ؟

لقد كنت في العملاء الذين موحدة لها مشاريع على #5 وانها عملت بشكل جيد حقا.الحجة النهائية من خدمة الدعوة قائمة مفصولة بفواصل من كل خصائص تحميل, على سبيل المثال:

CustomerService.getCustomerById(id, "parent, address, address.city")

وأعتقد أنها تستخدم في الجلب شرط لهذا.أنا طبقت نفس الفكرة مرة jpa باستخدام PropertyUtils لتحريك تحميل كسول.

هذه الخدمة عن بعد...هو جزء آخر من نفس التطبيق ؟ إذا كان هناك أي مشكلة تقاسم حصص إرسال الحالات ذهابا وإيابا (نفسه ينطبق على RMI, باستخدام بذرة).

ثم هناك خيار الوصول إلى شبكة الإنترنت خدمة أو شيئا من هذا القبيل ، حيث اثنين من تطبيقات التواصل حصة دراسية ، وهذا ما يجعل الأمور أكثر تعقيدا.أنا على وشك أن تواجه هذه المشكلة في المستقبل القريب و سوف تكون مهتمة جدا لمعرفة الجواب.

على أي حال, صوتي هو DTOs.أعتقد أنها توفر أفضل وأسهل حل ، حيثما ينطبق ذلك ، تساعد على الحفاظ على رمز بسيط للصيانة.

يوفال =8-)

إذا كان جهاز التحكم عن بعد خدمة موجود فقط لتوفير العميل الخاص بك مع البيانات ، ثم إيقاف تحميل كسول على كل السبات الكيانات قد تساعد.

شخصيا, ومع ذلك, أعتقد DTOs هي الطريق الصحيح للذهاب.معربا عن واجهة النائية حيث DTOs كنت متأكدا من أن تحصل على كل ما تحتاجه و لا شيء كنت لا تتوقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top