【问题标题】:NonUniqueObjectException: during cascading persist with jpa and hibernateNonUniqueObjectException:在级联期间持续使用 jpa 和休眠
【发布时间】:2011-09-16 10:45:03
【问题描述】:

我有一个实体 A,在第二个实体 B 上有 2 个 OneToOne 关系。

entity   --  @OneToOne(cascade=CascadeType.PERSIST)  -->  entity
   A     --  @OneToOne(cascade=CascadeType.PERSIST)  -->     B

我想管理我的实体 A 的持久性。

但是当我调用em.persist(o)hibernate 时会抛出异常:

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [EntityB#null]

由于我的实体尚未持久化,它们的 id 为空。 EntityB的equals和hashcode没有被调用。

【问题讨论】:

    标签: hibernate jpa jpa-2.0


    【解决方案1】:

    您需要做一些事情来为 B 分配一个 id 值。通常,您会使用 @GeneratedValue 来执行此操作。

    【讨论】:

    • 糟糕!我忘记了我的 entityB 有一个 @Embeddable id。那是我的问题。用 Long 替换它可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2013-03-05
    • 1970-01-01
    • 2010-12-31
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多