LazyInitializationException при добавлении в список, который хранится в классе сущности с использованием hibernate и gilead для gwt

StackOverflow https://stackoverflow.com/questions/2569648

Вопрос

Правильно, я работаю с hibernate gilead и gwt, чтобы сохранить мои данные о пользователях и файлах веб-сайта.у моих пользователей есть список местоположений файлов.Я использую аннотации для сопоставления моих классов с базой данных.Когда я пытаюсь добавить расположение файлов в список, который хранится в пользовательском классе, я получаю код генерирующего кода.

это метод ниже, который переопределяется из класса сервлета загрузки внешнего файла, который я использую.когда файл загружается, он вызывает этот метод.

user1 загружается из базы данных в другом месте. исключение происходит в org.hibernate.LazyInitializationException.Я вообще этого не понимаю.любая помощь была бы замечательной.трассировка стека ошибки ниже

родовое слово

// Это файл класса для пользователя Your Files

родовое слово

}

родовое слово

}

родовое слово
Это было полезно?

Решение

Ленивый означает, что значения коллекции загружаются из базы данных только при доступе к ним. Если в это время был закрыт генеракодицетагкод, генерируется кодовый кодовый тег, поскольку данные не могут быть получены.

В вашем случае я бы просто предложил добавить к ассоциации активный тип выборки:

родовое слово

При загрузке объекта будет загружен генерируемый кодовый тег, и ленивая загрузка не потребуется.

Распространенным решением является использование OpenSessionInView , но оно может не всегда работать с GWT, потому что клиент удален и сеанс не может быть открыт там.

Итак, у вас могут возникнуть проблемы с отложенной инициализацией. Вы можете поискать связанные вопросы, их несколько - это и это например.

Другие советы

Это исключение означает, что ассоциация FileLocations еще не загружена, и вы пытаетесь получить к ней доступ.Сеанс не открыт, и нет возможности загрузить ассоциацию. Это исключение LazyInitializationException.

Изменить: прочтите сообщение Божо, чтобы узнать о решении.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top