更改 JPA 中的实体 ID 名称

Lui*_*sao 1 java hibernate jpa

是否可以更改 JPA 中实体变量 ID 的名称?目前,DAO 保存方法使用实体 ID。我们的数据库中有多个现有表,然后我们必须将 ID 列添加到所有表中。有什么办法可以避免添加字段吗?我想一种可能性是覆盖 DAO 方法,但还有其他想法吗?提前致谢。

Nar*_*ros 9

所以你的实体被定义为:

@Entity
public class SomeEntity {
  @Id
  private Integer id;
  //...
}
Run Code Online (Sandbox Code Playgroud)
  1. id除非您真的想要,否则您不必命名变量。你可以命名这个someEntityId,JPA 也不关心 Hibernate。属性名称的唯一影响是 NamingStrategy 实现如何将其映射到数据库中的列名称。

  2. 如果我们需要命名策略对我们不起作用的情况,我们可以覆盖命名策略并将特定名称应用于列。

    @Id
    @Column(name = "some_entity_id")
    private Integer id;
    
    Run Code Online (Sandbox Code Playgroud)

    这基本上会将id变量映射到名为some_entity_id.

希望有帮助。