【问题标题】:org.hibernate.PersistentObjectException: detached entity passed to persist - ManyToMany Mappingorg.hibernate.PersistentObjectException:分离的实体传递给持久化 - 多对多映射
【发布时间】:2017-05-10 07:48:22
【问题描述】:
  • 我有实体 Patient 和实体 Test。
  • 两者之间存在多对多关系。
  • 我在两边都添加了 CASCADE_TYPE=ALL。
  • 我正在使用 Hibernate EntityManager 的 persist(Patient);方法。
  • 当我执行它时抛出“org.hibernate.PersistentObjectException: detached entity pass to persist: Test”
  • 这些是屏幕。

病人类

测试类

如果有人有解决方案,请分享。

谢谢。

【问题讨论】:

  • 尝试使用 CascadeType.MERGE
  • 请发布您为持久化这些对象而编写的代码

标签: java spring hibernate jpa spring-security


【解决方案1】:

mergepersist 对你的实体做完全不同的事情。您真的确定合并完成了您最初打算做的事情吗? (见this topic over here

没有看到您为持久化test - 实体而编写的代码,我无法真正告诉您出了什么问题,但我可以想象它与您那里的多对多关系有关。您确定要 cascade.ALL 吗?如果您从数据库中删除test-instance,级联将删除该列表中的每个patient。 然后,对于该列表中的每个 patient,它将 cascade.REMOVE 每个 testList<test>

【讨论】:

    【解决方案2】:

    谢谢。我将它从 em.persist() 更改为 em.merge()。工作正常。

    【讨论】:

      【解决方案3】:

      我建议尝试修改CASCADE_TYPE=PERSIST

      【讨论】:

        猜你喜欢
        • 2015-11-03
        • 2023-03-29
        • 1970-01-01
        • 2018-05-25
        • 1970-01-01
        • 2019-03-02
        • 2018-01-05
        • 2017-09-04
        • 2011-09-16
        相关资源
        最近更新 更多