hibernate一对一主键问题

我有两个表(A,B),设置了一对一的双向关联,数据库是mysql,A表设置了主键自动增加,而B表的主键是根据A表的主键生成的,就是两个表共用了A表的主键,现在对数据的添加,删除,查询都是没问题的,但是更新就会报错:org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
java.sql.BatchUpdateException: Duplicate entry '3' for key 'PRIMARY'
应该是主键重复了,网上也是这么说的,但是不知道怎么解决,级联我也设置了,cascade="all"!请问应该怎么解决!谢谢了!

5个回答

我想问一下,你为什么要把B表的主键跟着A表的主键走呢?
我觉得设计有点问题?
为什么不在B表中设置一个外键(既A表的主键)
我不知道能不能帮助你.........

你的肯定是关联关系设置错了。你把关联关系的代码贴一下吧

我想问一下,你为什么要把B表的主键跟着A表的主键走呢?
我觉得设计有点问题?
为什么不在B表中设置一个外键(既A表的主键)
我不知道能不能帮助你.........


identity的值换成native试试!

设计错误 :D

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问