最后通过session.refresh(object)方法就可以解决了,注意,当object不

是数据库中已有数据的对象的时候,不能使用session.refresh(object)因

为refresh是从hibernate的session中去重新取object,如果session中没

有这个对象,则会报错所以当你使用saveOrUpdate(object)之前还需要判

断一下

当然这个问题最容易解决的办法还是使用Hibernate里面自带的merge()

方法。不过我始终觉得碰到问题就用这种软件自带的非常用方法

(和saveOrUpdate(),save(),update()相比)感觉十分不爽。

后来我还发现这种错误经常出现在一对多映射和多对多映射,请大家在

使用一对多和多对多映射的时候要小心一些

Hibernate 疑难异常及处理

1、a different object with the same identifier value was already associated with the session。

  错误原因:在hibernate中同一个session里面有了两个相同标识但是是不同实体。

  解决方法一:session.clean()

  PS:如果在clean操作后面又进行了saveOrUpdate(object)等改变数据状态的操作,有可能会报出"Found two representations of same collection"异常。

  解决方法二:session.refresh(object)

  PS:当object不是数据库中已有数据的对象的时候,不能使用session.refresh(object)因为该方法是从hibernate的session中去重新取object,如果session中没有这个对象,则会报错所以当你使用saveOrUpdate(object)之前还需要判断一下。

  解决方法三:session.merge(object)

  PS:Hibernate里面自带的方法,推荐使用。

2、Found two representations of same collection

  错误原因:见1。

  解决方法:session.merge(object)

以上两中异常经常出现在一对多映射和多对多映射中

a different object with the same相关推荐

  1. 在kotlin companion object中读取Bean,注入Bean对象

    在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件.   使用组 ...

  2. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置

    在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...

  3. Object的finalize()方法的作用是否与C++的析构函数作用相同

    Object的finalize()方法的作用是否与C++的析构函数作用相同 public class Finalization {private static Finalization finaliz ...

  4. libgstreamer-1.0.so.0: cannot open shared object file: No such file or directory

    1. 问题现象 error while loading shared libraries: libgstreamer-1.0.so.0: cannot open shared object file: ...

  5. RuntimeError: Expected object of backend CUDA but got backend CPU for argument

    RuntimeError: Expected object of backend CUDA but got backend CPU for argument #4 'mat1' 原因:变量没有加cud ...

  6. RuntimeError: Expected object of device type cuda but got device type cpu for argument pytorch数据位置

    RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 'target' i ...

  7. Python错误:AttributeError: 'generator' object has no attribute 'next'解决办法

    今天在学习生成器对象(generation object)运行以下代码时,遇到了一个错误: #定义生成器函数 def liebiao(): for x in range(10): yield x #函 ...

  8. Java OOP(Object Oriented Programming)个人理解及总结

    面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 其三大特征:封装,继承,多态: 封装:解决数据的安全问题. 继承:解决代码的重用问题. 多态:解决程序 ...

  9. 目标检测数据集The Object Detection Dataset

    目标检测数据集The Object Detection Dataset 在目标检测领域,没有像MNIST或Fashion MNIST这样的小数据集.为了快速测试模型,我们将组装一个小数据集.首先,我们 ...

  10. 多尺度目标检测 Multiscale Object Detection

    多尺度目标检测 Multiscale Object Detection 我们在输入图像的每个像素上生成多个锚框.这些定位框用于对输入图像的不同区域进行采样.但是,如果锚定框是以图像的每个像素为中心生成 ...

最新文章

  1. 产品经理多任务并行处理,如何管理提效?
  2. torch sigmoid练习
  3. MyEclipse的Add Libraries对话框
  4. 云炬Qtpy5开发与实战笔记 1开发第一个桌面应用Hello World
  5. .NET应用如何优雅的实现功能定时开关
  6. d3 i5 神舟精盾k480n_神舟精盾k480n i5 d3和精盾i5 d1哪个好?
  7. python call agilent com_PyVISA通过RS232(USB)与安捷伦34970A通信时出现超时错误
  8. 饶毅教授纵论“科学家的九个层次”;看到最后一句,终于绷不住了
  9. 2011年计算机一级考试题,2011年计算机一级考试模拟试题及参考答案(1)
  10. Pandas之DataFrame的简单使用
  11. linux下limits.conf 修改不生效的原因
  12. java中json转map
  13. windows2016小文件服务器,Windows Server 2016 搭建 SMB 共享文件
  14. 猫是如何躲开影子的?
  15. Havel-Hakimi定理(判断是否可图序列)
  16. Silane-PEG-COOH,硅烷-聚乙二醇-羧基结构式及相关应用介绍
  17. Linux shell:脚本编写快速入门
  18. linux aria进程,Linux安装 Aria2
  19. 劉克振:下一波萬物互聯網的創新大機會
  20. 榆熙教育电商学院:拼多多为何做“百亿补贴”?都带来了什么?

热门文章

  1. 艾默生流量计校验功能
  2. 计算机应用基础数据处理教案,计算机应用基础教案
  3. 42岁女博士相亲,要求对方年薪三百万,主要为淘汰一类档次低男人
  4. 各种情人节,程序员教你5个表白代码,牢牢主抓她的心
  5. 运筹说 第73期 | 图论创始人“数学之王”一 欧拉
  6. shell脚本--重启服务
  7. Win11如何创建子账户?Win11子账户设置方法
  8. 干货分享 | 常用车载总线CAN、CANFD、LIN、FlexRay 和 Ethernet概述
  9. 高校房产管理系统主要功能模块有哪些?
  10. vue中60余种工具类