Dozer Mapping и Hibernate ленивая инициализация - PullRequest
3 голосов
/ 10 марта 2011

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

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

afield afield

покупатель покупатель

Я загружаю MyClass с помощью Hibernate.Но у меня ленивая загрузка для клиента.Я не загружаю все от клиента.Но при сопоставлении требуется сопоставить все атрибуты от клиента, чтобы генерировалось исключение для отложенной инициализации.

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

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

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

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

0 голосов
/ 18 марта 2011

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

...