我想从我的表中删除实体并让它自动删除它的子实体。
例子:
class User {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user", orphanRemoval=true)
@OnDelete(action = OnDeleteAction.CASCADE)
List<Address> addresses;
}
当我删除没有地址的用户时,一切正常。也可以在不删除用户的情况下删除地址。
但是:如果我尝试删除仍然有一些地址的用户,我会得到org.hsqldb.HsqlException
:
integrity constraint violation: foreign key no action; FK_ADDRESS_USER_ID table: ADDRESS
这里可能有什么问题?或者这是不支持的,我必须Address
在删除用户之前先明确删除所有包含的对象?