entityManager.persist(user) - > javax.persistence.EntityExistsException:User @ b3089已经持久化

时间:2010-08-20 00:38:33

标签: java spring orm jpa persistence

// 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之外还有其他一些方法我应该用于更新而不是插入吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

entityManager.merge(user)怎么样?

另请参阅here