我正在使用spring MVC和hibernate框架。我有2个表。这些是Team和Releases.it有一对多的mapping.i可以从Releases中删除recode,但是当我从Team中删除它时会出现以下错误
HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:
Could not execute JDBC batch update; SQL [delete from Teams where teamID=?];
constraint [null];
nested exception is org.hibernate.exception.ConstraintViolationException:
Could not execute JDBC batch update
答案 0 :(得分:2)
首先,您需要删除发布中涉及您需要删除的团队的所有记录,然后删除团队。
或使用
@OneToMany(orphanRemoval=true)
答案 1 :(得分:0)
由于您的表Teams
与表Releases
具有一对一的映射,因此该异常清楚地表明您违反了完整性约束。您的查询
delete from teams where id=?
尝试从表Teams
中删除记录,但由于您有Releases
的映射,因此您首先需要在表{{1}中删除引用的行teamID
然后从Releases
表中删除相应的行。
答案 2 :(得分:0)