Тема многих предыдущих вопросов, которые я вижу, но не совсем так, как эта. Я понимаю стратегии ленивого извлечения Hibernates, просмотр открытых сессий и т. Д., Но я не могу найти решение этой простой мелочи, когда моя ассоциация лениво выбирается несмотря ни на что.
Я не использую открытый сеанс в поле зрения, так как мое веб-приложение было создано без него, и теперь его сложно «перенести» ...
Скажем, у нас есть цепочка ссылок, скажем a <- b <- c <- d -> e
Чаще всего извлечение a также означает, что нам нужны b, c и d . Таким образом, они всегда будут загружены (указав lazy=false
в файле отображения гибернации). Это работает !!
Однако теперь нам также нужно всегда охотно извлекать ассоциацию e , каждый раз, когда выбирается d. Поскольку e имеет решающее значение для выполнения некоторых логических операций над d .
И это то, где он перестает работать ... e ассоциируется с d как ассоциация "многие к одному" на d . Установка этого параметра в lazy=false
не помогает, все равно не инициализируется должным образом, а доступ к свойствам в e из d вызывает исключение LazyInitialisationException.
Это неправильно с моей стороны ожидать, что это сработает? Свойство lazy указывается в файлах hbm с использованием hibernate v. 3.2.6 и Spring версии 2.5.6.
Надеюсь, кто-то может прояснить для меня вещи ...
В любом случае, пожалуйста, обратитесь к другому сообщению, если вы его найдете. Кажется, я не могу найти что-то, что покрывает это ...