Ali Hopyar (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *updated* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiYmJmYzM1Yjgz...
) / Bug (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiYmJmYz...
) HHH-14079 (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiYmJmYz...
) Orphan removal does not work on session.update function (
https://hibernate.atlassian.net/browse/HHH-14079?atlOrigin=eyJpIjoiYmJmYz...
)
Change By: Ali Hopyar (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
Let's say I have two entites like
{code:java}@Table(name = "parent_entity")
@Entity(name = "ParentEntity")
public class ParentEntity extends PersistentEntity {
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "inner_entity")
private 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 = "innerEntity", cascade = CascadeType.ALL, orphanRemoval =
true)
private List<ChildEntity> children = new ArrayList<>();
public List<ChildEntity> getChildren() {
return children;
}
public void setChildren(List<ChildEntity> children) {
this.children = children;
}
}
@Table(name = "child_entity")
@Entity(name = "ChildEntity")
public class ChildEntity extends PersistentEntity {
@ManyToOne
@JoinColumn(name = "inner_entity")
private InnerEntity innerEntity;
@Column(name = "child_value")
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.
I have tried with 5.3.7.Final, 5.4.15.Final, 5.4.16.Final and 5.4.17 Final
Test Case can be found in attachment
(
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 )