OneToMany
双方向の関係エンティティ クラス (WorkOrder
および)がありTask
ます。WorkOrder
を 1 つ以上持っていますTask
。クエリWorkOrder
でエンティティを削除すると、外部キー制約例外が発生します。関連を自動的に削除することはできません。EntityManager
Task
私の質問: Is CascadeType.REMOVE
used by em.removed(..)
method? query
?(削除クエリ)で使用されていませんか?
WorkOrder.java
.....
public class WorkOrder {
....
@Temporal(TemporalType.TIMESTAMP)
private Date expiryDate;
@OneToMany(cascade=CascadeType.ALL, mappedBy="workOrder", orphanRemoval=true)
private List<Task> taskList;
......
}
タスク.java
......
public class Task {
.....
@ManyToOne
@JoinColumn(name = "WORK_ORDER_ID", referencedColumnName = "ID")
private WorkOrder workOrder;
.....
}
WorkOrder
有効期限に基づいて削除する必要があります。まず関連を削除する必要がありTask
、その後で削除する必要がありWorkOrder
ます。それが正しいか?CascadeType
で使えたらもっといいと思いますQuery
。