2017-03-01 98 views
-1

可以在JPA中更改實體變量ID的名稱嗎?目前,DAO保存方法使用實體ID。 我們在數據庫中有多個現有表格,然後我們必須將ID列添加到所有表格中。有什麼方法可以避免添加字段? 我想有一種可能性是重寫DAO方法,但還有其他想法? 在此先感謝。在JPA中更改實體ID名稱

+1

JPA不會強制您使用任何特定的命名策略,因此您的實體中不需要稱爲ID的變量。儘管如此,您確實需要一些獨特的方式來識別您的實體如果您需要特定的解決方案,可能會展示您的問題的更多細節。 – Chris

回答

2

所以你的實體被定義爲:

@Entity 
public class SomeEntity { 
    @Id 
    private Integer id; 
    //... 
} 
  1. 您不必對變量命名id,除非你真的想。你可以命名這個someEntityId和JPA或Hibernate關心。屬性名稱的唯一影響是NamingStrategy實現如何將其映射到數據庫中的列名稱。

  2. 如果我們需要存在命名策略不適用於我們的情況,我們可以重寫命名策略並將特定名稱應用於列。

    @Id 
    @Column(name = "some_entity_id") 
    private Integer id; 
    

    這實質上將映射id變量命名some_entity_id列。

希望有所幫助。