我有一个实体类
@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
请帮我解决这个问题。
1条答案
按热度按时间mtb9vblg1#
如果没有主键列,就没有实体,因此不能真正使用JPA。
使用JDBC代替。(而不是Spring Data JDBC,因为它会让您遇到同样的问题)