В нашем приложении мы имеем двойное постоянство. Во-первых, сущность может быть сохранена онлайн в БД MySQL (мы используем Hibernate), во-вторых, сущность может быть сохранена локально посредством сериализации.
Сущность, о которой я говорю, является объектом класса User
, который содержит объект KnowledgeBase
, а KnowledgeBase
содержит два списка сущностей (List<Card>
и List<Deck>
).
Обе персистенции отлично работают в отдельности, но возникают проблемы, когда я пытаюсь десериализовать сериализованный User
объект, который я загрузил из базы данных, то есть который был выполнен через Hibernate хотя бы один раз (ну, на самом деле, дважды) ,
Я заметил, что ArrayList
внутри KnowledgeBase
заменены на PersistentBag
. Может ли это быть источником моей проблемы?
Другое предположение может заключаться в том, что ленивая загрузка вызывает эти проблемы ... Есть ли способ сказать Hibernate полностью загрузить объект в какой-то момент? (Помимо энергичной загрузки ...)