سؤال

أحاول تنفيذ النصيحة الموجودة في هذا المنشور المدونة الرائع لمعالجة الدُفعات في Grails مع MySQL. المشكلة التي أواجهها هي أن إدراج المكالمات الدورية إلى Session.clear () في حلقت بلدي تسبب org.hibernate.lazyinitializationexception's. يوجد اقتباس في قسم التعليقات في الصفحة:

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

لكن كيف أفعل ذلك؟ هل يمكن لأي شخص أن يساعدني على وجه التحديد في فهم كيفية "إعادة توحيد أي كائنات إلى الجلسة بعد أن انتهيت من المقاصة؟

أنا مهتم أيضًا بتوازي عملية إدراج قاعدة البيانات حتى أتمكن من الاستفادة من وجود معالج متعدد الأساس. هل يمكن لأي شخص تقديم المشورة حول كيفية القيام بذلك في Grails؟

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

المحلول

لدى Grails بعض الطرق للمساعدة في ذلك (إنها تستفيد من السبات تحت الأغطية).

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

إذا قمت بإجراء تغييرات على الكائن أثناء استلامه ، فيمكنك الاستخدام دمج.

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

قد يكون من المفيد أيضًا مراجعة وثائق السبات على جلسة.

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