永发信息网

hibernate会不会重复保存List集合内的重复对象

答案:3  悬赏:60  手机版
解决时间 2021-02-01 19:25
  • 提问者网友:wodetian
  • 2021-02-01 03:52
如果一个对象,重复添加到List集合中,hibernate提交保存List集合,该对象会不会重复保存到数据库中?
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-02-01 05:08
看情况了,如果你的主键生成策略设置的是assignee,那么你的对象必须要有id值,此时只要出现重复id的对象,而且你做新增时候,用那个save方法的话,会报错。为了解决这个问题,你可以把主键不要设置assginee,如果你设置了assginee,那么做新增的时候用saveOrUpdate方法试试。
全部回答
  • 1楼网友:污到你湿
  • 2021-02-01 06:31
hibernitate默认会自动的保存所有list集合中的对象,如果该对象有id会变为更新,也就是说,如果你有重复的对象,而且这个对象有id,那就是更新,而且后更新的会覆盖第一次的更新。如果没有id,则每一条记录都会保存到数据库,成为独立的一条数据。
  • 2楼网友:冷風如刀
  • 2021-02-01 06:18
如果你也使用了spring的话 用spring的 hibernatesupportdao中有提供保存集合类型的方法 其实也就是将提交方式改为手动 然后用一个事务将for循环包起来 for循环成功就提交 失败就回滚
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯