无法从我的表中删除一行

时间:2013-11-14 07:54:48

标签: java sql spring hibernate model-view-controller

我正在使用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

3 个答案:

答案 0 :(得分:2)

首先,您需要删除发布中涉及您需要删除的团队的所有记录,然后删除团队。

或使用

@OneToMany(orphanRemoval=true)

答案 1 :(得分:0)

由于您的表Teams与表Releases具有一对一的映射,因此该异常清楚地表明您违反了完整性约束。您的查询

delete from teams where id=?

尝试从表Teams中删除记录,但由于您有Releases的映射,因此您首先需要在表{{1}中删除引用的行teamID然后从Releases表中删除相应的行。

答案 2 :(得分:0)

你正在使用hibernate方法是错误的〜! 那段代码: “hibernate.update(SQL);”。