Я сериализую объект, имеющий глубокую иерархию объектов.Нежелательная выборка объекта
После десериализации я могу получить доступ только к тем полям, которые были доступны в объекте до сериализации. Для отдыха я получаю LazyInitializationException.
class A {
List<B> objs
}
class B {
C c
}
class C {
D d
}
Первоначально я использовал, чтобы получить LazyInitializationException при доступе a.objs * .c Тогда я выполнил цикл до сериализации: a.objs.each {it.c} Теперь я получаю LazyInitializationException на a.objs * .cd и не a.objs * .c
Как я могу убедиться, что объект извлекает каждую ссылку из БД до сериализации?
В настоящее время я после прогулки по подходу, но каждый день я получаю LazyInitializationException для нового случая использования и добавить новый обход :) Я не могу отключить отложенную загрузку, так как я просто хочу в глубину стремится выборки только при сериализации & ни в одном запросе из приложения. Сериализованный объект состоит из снимков истории. Например, например, мне может понадобиться найти адрес человека один год назад, а не текущий адрес. –