artemisll
artemisll
2010-07-06 11:21
浏览 279
已采纳

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条回答 默认 最新

  • shanhuajun6217
    shanhuajun6217 2010-07-06 17:24
    已采纳

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

    点赞 评论
  • lqxv
    lqxv 2010-07-06 12:54

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

    点赞 评论
  • shanhuajun6217
    shanhuajun6217 2010-07-06 17:24

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

    点赞 评论
  • wuwentao2010
    wuwentao2010 2010-07-06 20:21


    identity的值换成native试试!

    点赞 评论
  • a881127b
    a881127b 2010-07-07 10:29

    设计错误 :D

    点赞 评论

相关推荐