考虑这个用例。JPA CascadeType.ALL不删除子记录
class Category {
@OneToMany(cascade=CascadeType.ALL)
List<Application> applications = new ArrayList<Application>();
}
class Application {
@ManyToOne
Category category;
}
我明白,在这种情况下,当类别被删除时,应用程序也会被删除。但谁照顾连接表?为关系生成的Category_Application表。
I James,谢谢你的回复。不,我没有收到任何错误,但连接表的行不会被删除。这是我唯一的问题。 当我删除实体时,我不确定该实体是否具有填充连接值的集合。但不是它表格引用应该默认删除它,即使我没有收集完成?由于我提到的级联类型? – Jahid 2011-05-25 09:28:44
如果集合为空,则不需要删除,因为没有要删除的行。你是如何得到你要删除的对象的?您使用的是JPA提供商和版本? – James 2011-05-25 13:51:05