当我在一个表中删除一条记录时,应该在另一个表中删除相关记录。但我改为收到:
java.sql.BatchUpdateException:批处理条目 0 更新 child_table 设置 parent_table_id=null 其中 parent_table_id=63 被中止
上面的异常是针对以下设置引发的:
@OneToMany(cascade = javax.persistence.CascadeType.ALL, targetEntity = ChildTable.class)
@JoinColumn(name = "parent_table_id")
@org.hibernate.annotations.Fetch(FetchMode.SUBSELECT)
public List<ChildTable> getTables() {
return tables;
}
如果我没记错的话,有了这样的注释,当在ParentTable中删除一条记录时,应该在Child one中删除对应关系。在完全删除之前,它会尝试变为“null”(因为相应的记录不再存在)。此 id 列是“非空”。当我将其设为“null”(仅用于测试这种情况)时,一切正常。
你能帮我理解这背后的真正问题是什么吗?
先感谢您。