Определение области для отложенной загрузки (спящий режим) - PullRequest
0 голосов
/ 08 июня 2011

Для отложенной загрузки Hibernate создает прокси. Для lazy = true (это также значение по умолчанию) я хочу, чтобы мой уровень доступа к данным и бизнес-уровень использовали эту функцию. Но как только загруженные данные отправляются на уровень представления, я хочу «Исключение нулевого указателя» вместо «LazyInitializationException» не может инициализировать прокси-сервер без сеанса », если к DTO / BO обращаются к какому-либо свойству, которое не инициализировано. Концептуально, я не хочу определять lazy = false в моих индивидуальных сопоставлениях. Есть какое-то решение, которое я хочу, или какой-нибудь хороший альтернативный подход? Спасибо.

1 Ответ

0 голосов
/ 09 июня 2011

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

При этом, поскольку вы хотите поддерживать нормальное поведение на нижних уровнях, лучше всего будет перехватывать любые исключения LazyInitializationException на бизнес-уровне и выбрасывать исключение NullPointerException на уровне представления.

Одним из вариантов может быть просмотр фильтров сервлетов и подключение их к соответствующему уровню цепочки обработки.

...