我試圖刪除父列表而不刪除孩子的刪除父實體
父:
@Entity
public class Parent {
@Id
@Column(name = "PARENTID")
private Long id;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
private Set<Child> childs = new HashSet<Child>();
...
}
孩子:
@Entity
public class Child {
@Id
@Column(name = "CHILDID")
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="PARENTID", nullable = false)
private Parent parent;
...
}
我確實是使用HQL查詢更新所有子級,然後使用HQL查詢來刪除父級的列表。
問題是這種方式太重了,有沒有簡單的解決方案使用jpa?
您可以使用JPA批量更新來清除引用列表中父項的所有子項,然後批量刪除以刪除列表中的所有父項。這是你在HQL中做的嗎? – Chris
你可以發佈你的代碼,首先更新,然後刪除? – Sashi