简单地来看,将一个游离的对象要被持久化(save)时报错。 
我们知道要持久化对象时候,通常Hibernate会根据ID生成策略自动生成ID值,但是这个对象ID已经有值,所有抛错。这个错误会出现在配置如下一对多@OneToMany的关联关系等出现。

// 部门拥有的车辆@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "assignedDept")@JsonIgnoreprivate List<Vehicle> assignedVehicles;

因为级联关系是CascadeType.ALL,所以save时会保存级联的对象Role,但是Role已经存在,因此就报错了。将cascade改为CascadeType.MERGE或者CascadeType.REFRESH即可,表示级联对象在Role表存在则进行update操作,而不做save操作。级联操作时谨慎用CascadeType.ALL

改为:

@OneToMany(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY, mappedBy = "assignedDept")

转载于:https://www.cnblogs.com/nelson-hu/p/7485319.html

org.hibernate.PersistentObjectException: detached entity passed to persist相关推荐

  1. jpa遇到的 org.hibernate.PersistentObjectException: detached entity passed to persist异常

    jpa遇到的 org.hibernate.PersistentObjectException: detached entity passed to persist异常 参考文章: (1)jpa遇到的 ...

  2. org.hibernate.PersistentObjectException: detached entity passed to persist: cn.edu.xupt.bean.Users

    persist持久化时,因为设置user表主键使用注解自动生成,所以当创建对象,id值不为0或是null就会报错.之前创建user对象时,没改对象的id值.

  3. detached entity passed to persist异常解决

    病理特征:Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.xxx. ...

  4. detached entity passed to persist:***

    detached entity passed to persist 翻译:翻译传递到持久化的分离实体. 错误提示: detached entity passed to persist: com.lzh ...

  5. detached entity passed to persist问题与解决方案

    JPA save对象的时候有时候会遇到如题的错误,可能有两种原因: 1.该对象定义的是自动生成id的方式,insert的时候写入的id在数据库中已存在. 网上搜到的比较多的都是这种情况,但个人认为,实 ...

  6. deleted entity passed to persist: [dcms.ebridge.market.entity.Reward#null]

    今天项目中的错误: deleted entity passed to persist: [dcms.ebridge.market.entity.Reward#<null>] 删除RetaR ...

  7. detachd entity passed to persist:数据库表名

    办法1:创建新对象 办法2:加事务

  8. JPA持久化异常:PersistenceException: org.hibernate.PersistentObjectException

    1.PersistenceException异常如下 javax.persistence.PersistenceException: org.hibernate.PersistentObjectExc ...

  9. JPA保存数据时报持久化对象异常:PersistenceException: org.hibernate.PersistentObjectException

    1. 持久化对象异常如下图所示: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: de ...

最新文章

  1. 谁在引领中国制造?中国智能制造发展解析
  2. C言语选择排序算法及代码
  3. ubuntu下移植QT基本流程
  4. CSS中float属性详解
  5. 【栈】【856. 括号的分数】【中等】(需回顾)
  6. 疯狂.NET架构通用权限后台管理工具演示版2.0下载
  7. android 定位 广播,android - 如何触发广播接收器在GPS开启/关闭? - SO中文参考 - www.soinside.com...
  8. 第 8 章 配置listener监听器
  9. Swift3.0 功能二 (表情键盘与图文混排)
  10. IEC61850报告服务(报文解析)
  11. 图片类word报告生成器
  12. p-mos,n-mos的导通条件
  13. rpm -ivh安装mysql_RPM 命令详细介绍
  14. 攻防世界逆向入门题之logmein
  15. xamarin其实也是一个鸡肋
  16. linux proc/pid/stat解析
  17. oracle导入.dmp,oracle导入.dmp脚本
  18. 技术人在互联网如何变现
  19. wangeditor v5 在vue中的使用
  20. 35搜索插入位置之Leecode—《数组篇》(二分法)

热门文章

  1. yii 2.0 代码阅读 小记
  2. Linux命令Find实例
  3. 第三十五讲:tapestry Ajax zone组件无黄色闪烁的背景
  4. Ubuntu Linux配置IP地址
  5. 局域网内多台linux服务器时间同步的一种解决方案
  6. 浮小麦升浮之气的本质
  7. it招聘的一些门道与招聘数据分析(持续更新)
  8. Java FlatMapFunction in Spark: error: is not abstract and does not override abstract method解决方案
  9. tried to access method com.google.common.base.Stopwatch
  10. 5.12 QR分解的阻尼倒数法和正则化方法区别