如何为没有主键或唯一键列的 table 创建 JPA 实体

How to create a JPA entity for a table that doesn't have a Primary Key or Unique Key column

我有一个 table 没有主键或唯一键列。我需要使用 JPA 和 Hibernate 从 Spring 应用程序操作此 table。

当我试图映射这个 table 的实体时,它失败了,因为没有 @Id 映射。

我试图从所有实体属性中创建一个复合 id 以确保唯一性,但在这种情况下,实体返回了一个 immutable 对象。

我需要操作这个实体的一些变量。我应该怎么办?通过添加唯一列来更改 table 将给我带来新的挑战。有没有办法不改变table?

假设您想要使用 SQL 更改这些记录。如果您没有唯一列,您如何知道要更新或删除哪一行?

除非您创建一个唯一的列,否则您无能为力。

应该有一种独特的方式来识别您的记录。有时,您有多个列。在这种情况下,您使用组合主键。在 JPA 中,您可以通过两种方式实现组合主键:@EmbeddedId 或 @IdClass.