У меня есть иерархия объектов, в которой коллекции загружаются лениво:
Object_1
- List<Object_2>
- Object_3
- Object_4
Следовательно, с точки зрения Object_4 это выглядит так:
- Object_4
- List<Object_3>
- List<Object_2>
Object_1
Объекты инициализируются следующим образом:
Object_1 object1 = em.find(...);
object1.getObjects2().forEach(o2 -> o2.getObjects3().size());
Если я сейчас сделаю следующее, в последней строке будет сгенерировано исключение LazyInitializationException:
Object_2 object2 = object1.getObjects2().get(0);
Object_3 object3 = object2.getObject3();
Object_4 object4 = object3.getObject4();
em.getTransaction().commit();
Object_3 object3_1 = object4.getObjects3().get(0);
Я бы предположил, что фреймворк должен иметь возможность заполнил Список объектов_3 объектами, загруженными в строке 2, потому что их непосредственное отношение к объекту 4 было решено с нетерпением.
Итак, возможно ли это, и я, например, пропускаю какую-то конфигурацию? Я что-то упустил и мое предположение неверно? Или это просто так не реализовано?