Hibernate-Hibernate结合Mysql执行Session的update方法提示主键冲突

Hibernate-Hibernate结合Mysql执行Session的update方法提示主键冲突

偏爱自由 发布于 2017-07-27 字数 1145 浏览 1096 回复 1

类的数据如下

请输入图片描述
请输入图片描述
配置文件如下

请输入图片描述
请输入图片描述
第一次往数据库中插入数据时没有报错,相互的关系也对应上了。但是到我想更新其中一个Role对象里面的menu时就报错 Exception in thread "main" org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
Caused by: java.sql.BatchUpdateException: Duplicate entry '4-3' for key 'PRIMARY'
具体执行时的代码如下

请输入图片描述
因为我接触编程时间还短,所以这个问题我也不清楚算不算高深,但是我在百度上搜索出来的结果只能知道是主键冲突,却没有解决方法。这个问题困扰我很久了,希望各位高手能帮帮小弟,在此感激不尽!
另外补充一点,我在另一个工程里也是用相同的方法,但是执行起来却没有任何问题。。。我的电脑是WIN7系统

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-09-07 1 楼

在Hibernate配制多对多的关系时,如果不对inverse选项进行配制,则其值默认为false,在Menu和Role的配制中均没有配制此选项会导致Menu和Role都来维护关系,结果是导致关系维护两次。将Role表的inverse设置为true,应该可以解决你的问题。