У меня есть три таблицы,
users
user_associations
association_type.
Пользователи связаны друг с другом через таблицу users_associations, а затем ассоциации присваивается такой тип, как PARENT или FRIEND и т. Д.
Когда я вызываю свое представление, у меня есть данные таблицы для ассоциаций пользователей друг с другом.Внутри каждого списка есть связь с текущими данными пользователей, данными связанных пользователей и списком типов ассоциаций.
Я использую Hibernate, и я запутался между EAGER, получающим данные и LAZY, загружающим их.Когда я вызываю мой DAO, он выглядит так:
List<UsersAssoc> assoc = (List<UsersAssoc>)session.getNamedQuery("UsersAssoc.getAssoc").setInteger("id", id).list();
Чтобы заставить LAZY загружаться, я должен вызвать Hibernate.initialize для всех подчиненных объектов
for(UserAssoc a : assoc ) {
Hibernate.initialize(a.getUser() );
Hibernate.initialize(a.getAssocTypes() );
Hibernate.initialize(a.getAssociatedUser() );
}
Мне нужно обратитьсяко всем данным, на мой взгляд, и я пытаюсь сделать это, не сохраняя все это в памяти.Какой вариант самый лучший?Загрузите его или инициализируйте каждый тип в Hibernate.Это может даже не быть правильным способом сделать это.Мне нужно какое-то направление.Спасибо