Ali Hopyar (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *updated* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiZWNlYWQ0MmVk...
) / Bug (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiZWNlYW...
) HHH-14079 (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiZWNlYW...
) Orphan removal does not work on session.update function (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiZWNlYW...
)
Change By: Ali Hopyar (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
Let's say I have two entites like
{code:java}@ Entity Table (name = " Parent parent_entity ")
@ Table Entity (name = " parent ParentEntity ")
public class Parent ParentEntity extends PersistentEntity {
@OneToOne(cascade = CascadeType.ALL)
@ Transient JoinColumn(name = "inner_entity")
private SomePOJO transient InnerEntity innerEntity = new InnerEntity() ;
public InnerEntity getInnerEntity() {
return innerEntity;
}
public void setInnerEntity(InnerEntity innerEntity) {
this.innerEntity = innerEntity;
}
}
@ Table(name = "inner_entity")
@Entity(name = "InnerEntity")
public class InnerEntity extends PersistentEntity {
@ OneToMany(mappedBy = " parent innerEntity ", cascade = CascadeType. All ALL ,
orphanRemoval = true)
private List< Child ChildEntity > children = new ArrayList<>() ;
//getters, setters and other fields public List<ChildEntity> getChildren() {
return children;
}
public void setChildren(List<ChildEntity> children) {
this.children = children;
}
}
@ Entity Table (name = " Child child_entity ")
@ Table Entity (name = " child ChildEntity ")
public class Child ChildEntity extends PersistentEntity {
@ManyToOne
@JoinColumn(name = "inner_entity")
private Parent parent InnerEntity innerEntity ;
@Column(name = "child_value")
//getters, setters and other fields private String childValue;
public InnerEntity getInnerEntity() {
return innerEntity;
}
public void setInnerEntity(InnerEntity innerEntity) {
this.innerEntity = innerEntity;
}
public String getChildValue() {
return childValue;
}
public void setChildValue(String childValue) {
this.childValue = childValue;
}
}
{ code}
When I call session.update with parent entity, orphanRemoval does not have any affect. It
does not delete child entity and relationship between parent and child
(
https://hibernate.atlassian.net/browse/HHH-14079#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-14079#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100130- sha1:10d2092 )