java - entityManager.persist(用户) -> javax.persistence.EntityExistsException : User@b3089 is already persistent

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

最佳答案

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

关于java - entityManager.persist(用户) -> javax.persistence.EntityExistsException : User@b3089 is already persistent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527398/

相关文章:

java - FlatFileItemReader 制表符分隔符不起作用

spring - 在 Grails 中将 Activiti 连接为 Spring Bean

sql - 为新数据库创建 Sequelize 方言

mysql - 如何扩展 Doctrine 2 以处理 CodeIgniter 2 中的 MySQL 空间 ("point"字段类型)?

Javascript - 防止 while-waiting 循环

java - 使用另一个 java 项目中的 Java Path Finder

java - 基于 Kinesis 客户端库 (KCL) 的应用程序中的负载平衡和扩展

java - 使用switch语句返回不同的页面实例

java - jdbc 模板故障安全 IN 语句

javascript - Sequelize 实例方法不起作用?