Я на самом деле испытываю проблему с Hibernate. Я должен сказать, что я немного новичок в этом, но код, который у меня есть, уже был там и был создан людьми, которые знают Hibernate. Проблема в том, что я пытаюсь перенести версию Hibernate с v3.2.5 на 3.6.9. Код на самом деле работает на 100%, но когда я изменил JAR и все устаревшие функции, тот же код больше не работает. Итак, вот моя проблема:
У меня есть объект Client
, который имеет связь «многие ко многим» с Status
(мы сохраняем историю статусов). По умолчанию эта коллекция LAZY. Но когда я провожу исследование клиента, мне нужна эта информация, поэтому я использовал Criteria API. Затем я установил для EAGER коллекцию статусов, например:
Criteria lStatuCriteria = lIntrvCriteria.createCriteria(SimIntrv.SIM_STATU_INTRVS, Criteria.LEFT_JOIN);
А затем я использую функцию Restrictions.in()
для фильтрации состояний. Проблема заключается в том, что в 3.2.5, когда вызывается функция list()
объекта Client, коллекция (для которой в файле конфигурации установлено значение lazy) загружается правильно. С другой стороны, в 3.6.9 коллекция не загружается. Я попытался установить режим извлечения с помощью setFetchMode, но это не сработало.
Любая подсказка?