Dozer Mapping и ленивая инициализация Hibernate

у меня есть следующее отображение бульдозера:

com.company.xx.xx.model.MyClass com.company.xx.xx.model.MyClassToMap

в поле в поле

клиент клиент

I load MyClass with with hibernate. But i have a lazy loading for customer. i dont load everything from customer. But the mapping wants to map all attributes from customer, so that a lazy initilization exception is thrown.

Как я могу указать dozer только для отображения клиента, а не для всех полей от клиента?


person Benjamin    schedule 10.03.2011    source источник
comment
Насколько я понимаю из вашего поста, вы лениво загружаете Customer из MyClass и вам нужны только некоторые атрибуты из класса Customer?   -  person Prasanna    schedule 11.03.2011


Ответы (2)


Вам нужно будет написать собственный преобразователь для присвоения null неинициализированным коллекциям. При реализации пользовательского преобразователя используйте проверку Hibernate.isInitialized и установите для коллекций значение null там, где это не требуется.

Ссылка http://dozer.sourceforge.net/documentation/customconverter.html дает идея о пользовательских преобразователях.

person Vinod R    schedule 13.03.2011

Вы можете установить <mapping wildcard="false">, чтобы Dozer отображал только указанные поля в определенном классе.

person artbristol    schedule 18.03.2011