【问题标题】:entityManager.persist(user) -> javax.persistence.EntityExistsException: User@b3089 is already persistententityManager.persist(user) -> javax.persistence.EntityExistsException: User@b3089 已经持久化
【发布时间】:2011-04-01 10:35:38
【问题描述】:
// lookup existing user & set a currently null child entity (ContactInfo)
user.setContactInfo(contactInfo);

// update the user in the datastore with newly created child Entity             
entityManager.persist(user);

产生异常:

javax.persistence.EntityExistsException: User@b3089 is already persistent

由于用户已经存在,除了entityManager.persist 之外,我应该使用其他方法进行更新而不是插入吗?

【问题讨论】:

    标签: java spring orm jpa persistence


    【解决方案1】:

    entityManager.merge(user) 呢?

    另外,请参阅here

    【讨论】:

      【解决方案2】:

      您的user 实例已经加载到持久化上下文中,只需修改它并不要调用任何EntityManager 方法,JPA 提供程序将在刷新或提交时自动更新数据库.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 2021-07-21
        • 1970-01-01
        • 2021-07-04
        • 2010-09-14
        • 2021-02-04
        相关资源
        最近更新 更多