У меня есть аннотированный объект Hibernate с полем:
@OneToMany(mappedBy="templateInstance", fetch = FetchType.EAGER)
@MapKey(name = "attributeName")
private Map<String, Component> components;
Hibernate делает PersistentMap из этого.
Затем я хочу, чтобы Dozer отобразил это на объект с таким полем:
private Map<String, ComponentDto> components;
После появления исключений LazyInitializationException и некоторой отладки я обнаружил, что проблема не в закрытом сеансе Hibernate, а в том, что Dozer пытается сопоставить не HashMap, а PersistentMap! И поэтому, когда Dozer получает доступ к целевой карте, PersistentMap выдает исключение, потому что у него, конечно, нет сеанса.
Итак, я подумал, что намерением Dozer является сопоставление с HashMap. Теперь вопрос: я делаю что-то не так или Dozer и как я могу заставить Dozer сопоставить PersistentMap с обычной стандартной картой Java?
У меня не было проблем при использовании списка раньше. Кто-нибудь еще использовал Dozer для отображения Hibernate PersistentMap?
С уважением,
Konsumierer