spring-data-jpa Hibernate:找到多个具有给定标识符的行

7z5jn7bk  于 2022-11-10  发布在  Spring
关注(0)|答案(1)|浏览(123)

我有一个实体类

@Entity
@Table(name = "Test")

public class TestEntity{
    @Id
    @Column(name = "test_id")
    private String testId;
}

测试表没有任何主键,但由于@Entity原因,我不得不对testId列使用@Id testId列可以有重复值
当我在数据库中保存记录时,它会出现此错误。

org.hibernate.HibernateException: More than one row with the given identifier was found: 353, for class: com.abc.xyz.TestEntity

我无法在表中添加任何新列作为唯一标识符,因为表中有数百万条记录已经在生产中。
已尝试以下解决方案,但均失败。@Embeddable @ManyToOne
请帮我解决这个问题。

mtb9vblg

mtb9vblg1#

如果没有主键列,就没有实体,因此不能真正使用JPA。
使用JDBC代替。(而不是Spring Data JDBC,因为它会让您遇到同样的问题)

相关问题