Hibernate отдельное ленивое загрузочное отношение - PullRequest
0 голосов
/ 10 июня 2011

У меня есть объект, который имеет ленивую загрузку.После того, как я загрузил объект (без загрузки ленивого загрузочного потомка), я закрыл сеанс, таким образом отсоединив объект.

Если я правильно понимаю, если я попытаюсь myObject.getLazyChild (), я получу LazyInitializationException.

Есть ли способ сделать так, чтобы myObject.lazyChild автоматически устанавливался в null в такой ситуации?

Конечно, я могу вызвать have myObject.setLazyChild (null);, но я ищу способ сделать это автоматически.

1 Ответ

4 голосов
/ 10 июня 2011

Нет, нет пути. Зачем тебе это делать? Если вы попытаетесь получить к нему доступ, и он не был загружен, вам лучше получить исключение, сообщающее, что в вашем дизайне есть ошибка, а не null, которая может быть совершенно допустимым значением для поля, и таким образом, ваши приложения ведут себя плохо. Подумайте об этом сценарии использования:

  • если поле рака у пациента пустое, отпустите его
  • иначе, немедленно начни его лечить

Если вы забудете загрузить поле рака пациента, вы отпустите его. Мне лучше получить исключение, исправить мой код и вылечить пациента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...