При использовании List<Object>
в спящем режиме вы должны использовать @IndexedColumn
, это своего рода аксиома, и она упоминается в Справочном руководстве по Hibernate, черным по белому, в главе сопоставления коллекций, поэтому я не понимаю, почему автор этого блога предложил этокак обходной путь.
Что касается отложенной загрузки, у нее есть много плюсов и минусов, если вы используете HQL, это не даст вам никаких преимуществ, но если вы захотите получить Parent, используя
Parent parent = session.load(Parent.class,id);
и выполнить любую операцию над списком, а затем использовать
session.update(parent);
, здесь полезна ленивая загрузка, поскольку родительский элемент загружен как прокси-сервер, и выбор не произошел, а список является прокси-сервером какЧто ж.и количество избранных минимально.
проблемная сторона Laziness заключается в том, что при попытке инициировать прокси-сервер при закрытии сеанса Hibernate (это часто случается в веб-приложениях) вы получите исключение.