I have an entity class like -

public class Item {
 @Id
 //mapping
 private Long id;

 @ElementCollection
 //mapping
 private Set<ItemWrapper> wrapperSet;

 @Transient
 private Map<Item, Boolean> itemPredecessor;

..........
..........

 @PrePersist
 @PreUpdate
 private void populateSet() {
    wrapperSet.clear();
    for(Map.Entry<Item, Boolean> entry : itemPredecessor.entrySet()) {
        wrapperSet.add(...);
    }

 }
..............
}

What happens is when I call entityManager.merge(...) with newly
instantiated object with itemPredecessor map having some entries in it.
Hibernate invokes callback method populateSet() with copy of instance
passed to merge() which doesn't contain itemPredecessor map with respective
entries as itemPredecessor is marked @Transient. I am using hibernate
4.3.5. Is this the right behavior?

-- 
Regards,
Deepak A. Raut
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to