2017-03-01 30 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; 
    

    これは本質的にsome_entity_idという名前の列にid変数をマッピングします。

希望します。

関連する問題