em.merge() creates 2 insert statements [message #1036617] |
Mon, 08 April 2013 16:04 |
Saravanan Subiramaniam Messages: 10 Registered: April 2013 |
Junior Member |
|
|
Hi,
I've PrePersist lifecycle method in my entity and within that method, I've a call to em.flush().
When this entity is merged using em.merge(), there are 2 insert statments created. Why does em see 2 different object change sets, could anyone explain this behavios?
Example:
public class MyEntity{
@OneToMany(cascade = CascadeType.ALL, targetEntity = Detail.class, mappedBy = "parent")
private List<Detail> childList;
@PrePersist
public void prePersist(){
doSomething();
em.flush();
}
}
MyEntity myEntity = new MyEntity();
myEntity.setSomeField();
myEntity.setChildList(childList);
em.merge(myEntity);
Thanks,
Saravanan,
Oracle Netherlands.
[Updated on: Tue, 09 April 2013 08:34] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04054 seconds