0
@Entity
class Parent {
Long id;
}
@Entity
class Child {
@ManyToOne
Parent parent;
}
目的: 親から削除する行を削除する必要はありません。Hibernate:親に影響を与えずに子行を削除する
観測:子行は削除されますが、他の行が参照するため、親を削除できないというエラーがスローされます。あなたは親に子供用のremoveChildを削除したい場合は
@Entity
class Parent {
Long id;
@OneToMany(mappedBy="parent",cascade=CascadeType.ALL,orphanRemoval=true)
Set<Child> children = new HashSet<>();
public void addChild(Child child)
{
children.add(child);
child.setParent(this);
}
public void removeChild(Child child)
{
children.remove(child);
child.setParent(null);
}
}
@Entity
class Child {
@ManyToOne(optional=false)
Parent parent;
//important! implement hashCode and equals
}
:
あなたの答えはありがたいですが、私はさまざまな理由で双方向関係を使用できません。しかし、問題を解決するために '@Transactional' – user3188225