首页 > 解决方案 > 休眠分离实体错误 - 每个环境的不同结果

问题描述

我们有一个 Java 后端应用程序(使用 Java 9 创建),我们目前在通过 Hibernate 插入表记录时遇到这个问题。

javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: 

问题是,这只发生在在 UAT 环境中插入我们的表时。在 SIT 和 DEV 数据库中执行相同的插入时,不会发生这种情况。我们已经验证了 UAT 和 SIT/DEV 中的代码是相同的,并且还验证了表结构是相同的。还有什么可能导致此异常?

下面是我们使用的实体类的片段:

@Entity
@Table(name = "SOME_TABLE")
public class SomeTable {

  @Id
  @Column(name = "SOME_TABLE_ID")
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "someTableSeq")
  @SequenceGenerator(name = "someTableSeq", sequenceName = "SOME_TABLE_SEQ",
      allocationSize = 1)
  private Long id;

  @Column(name = "FIELD_ONE")
  private String fieldOne;

  @Column(name = "FIELD_TWO")
  private String fieldTwo;

  @Temporal(TemporalType.TIMESTAMP)
  @Column(name = "CREATED_DT")
  private Date createdDt;




Settings:
hibernate-core version: 5.2.10
hibernate-jpa version:  2.1
spring: 4.3.0-RELEASE
Database: Oracle 12c

标签: hibernatejava-8hibernate-mappingjpa-2.1

解决方案


推荐阅读