a different object with the same
最后通过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相关推荐
- 在kotlin companion object中读取Bean,注入Bean对象
在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件. 使用组 ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- Object的finalize()方法的作用是否与C++的析构函数作用相同
Object的finalize()方法的作用是否与C++的析构函数作用相同 public class Finalization {private static Finalization finaliz ...
- 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: ...
- 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 ...
- 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 ...
- Python错误:AttributeError: 'generator' object has no attribute 'next'解决办法
今天在学习生成器对象(generation object)运行以下代码时,遇到了一个错误: #定义生成器函数 def liebiao(): for x in range(10): yield x #函 ...
- Java OOP(Object Oriented Programming)个人理解及总结
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 其三大特征:封装,继承,多态: 封装:解决数据的安全问题. 继承:解决代码的重用问题. 多态:解决程序 ...
- 目标检测数据集The Object Detection Dataset
目标检测数据集The Object Detection Dataset 在目标检测领域,没有像MNIST或Fashion MNIST这样的小数据集.为了快速测试模型,我们将组装一个小数据集.首先,我们 ...
- 多尺度目标检测 Multiscale Object Detection
多尺度目标检测 Multiscale Object Detection 我们在输入图像的每个像素上生成多个锚框.这些定位框用于对输入图像的不同区域进行采样.但是,如果锚定框是以图像的每个像素为中心生成 ...
最新文章
- 产品经理多任务并行处理,如何管理提效?
- torch sigmoid练习
- MyEclipse的Add Libraries对话框
- 云炬Qtpy5开发与实战笔记 1开发第一个桌面应用Hello World
- .NET应用如何优雅的实现功能定时开关
- d3 i5 神舟精盾k480n_神舟精盾k480n i5 d3和精盾i5 d1哪个好?
- python call agilent com_PyVISA通过RS232(USB)与安捷伦34970A通信时出现超时错误
- 饶毅教授纵论“科学家的九个层次”;看到最后一句,终于绷不住了
- 2011年计算机一级考试题,2011年计算机一级考试模拟试题及参考答案(1)
- Pandas之DataFrame的简单使用
- linux下limits.conf 修改不生效的原因
- java中json转map
- windows2016小文件服务器,Windows Server 2016 搭建 SMB 共享文件
- 猫是如何躲开影子的?
- Havel-Hakimi定理(判断是否可图序列)
- Silane-PEG-COOH,硅烷-聚乙二醇-羧基结构式及相关应用介绍
- Linux shell:脚本编写快速入门
- linux aria进程,Linux安装 Aria2
- 劉克振:下一波萬物互聯網的創新大機會
- 榆熙教育电商学院:拼多多为何做“百亿补贴”?都带来了什么?