Featured post
Dozer: Hibernate PersistentMap is not mapped to java.util.HashMap -
i have hibernate annotated entity field:
@onetomany(mappedby="templateinstance", fetch = fetchtype.eager)  @mapkey(name = "attributename")  private map<string, component> components;  hibernate makes persistentmap out of this. want dozer map object such field:
private map<string, componentdto> components;  after having lazyinitializationexceptions , debugging, found out, it´s not problem of closed hibernate session, dozer tries not map hashmap persistentmap! , therefore when dozer accesses target map persistentmap throws exception, because has no session of course.
so, thought intented behaviour of dozer map hashmap. question: doing wrong or dozer , how can dozer map persistentmap normal java standard map?
i had no problems when using list before. has else used dozer mapping hibernate persistentmap?
regards, konsumierer
i found solution myself. components field in dto has this:
hashmap<string, component> components = new hashmap<string, component>; only way can prevent dozer using persistentmap target object.
and other important thing use custom beanmappingbuilder holds map , looks that:
public class templateinstancemappingbuilder extends beanmappingbuilder {      @override     protected void configure() {          mapping(templateinstance.class, templateinstancedto.class)             .fields("components", "components", fieldsmappingoptions.hintb(componentdto.class));      } } for further information problem, see dozer forums @ https://sourceforge.net/projects/dozer/forums/forum/452530/topic/4020856/index/page/1
- Get link
- X
- Other Apps
Comments
Post a Comment