التحميل الكسول واستثناؤه
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
explain lazy versus eager and LazyInitializationException.
الموضوعات المخطط لها
- Lazy: the relation is loaded on first access, using a proxy placeholder.
- Eager: loaded immediately with the parent, always, even when unused.
LazyInitializationException: you touched a lazy relation after the persistence context closed.- Do not "fix" it by making everything
EAGER; that creates huge hidden queries. - Load what you need inside the service transaction, or use a projection/DTO.
تفاصيل المخطط المبدئي
عرض عملي
Order o = orderService.find(1L); // transaction ended here
o.getLines().size(); // LazyInitializationExceptionاختبر فهمك
Why does LazyInitializationException happen?
أظهر الإجابة
The relation was read after the session closed.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.