Java Persistence / JPA: @Column と @Basic の比較 質問する

Java Persistence / JPA: @Column と @Basic の比較 質問する

@ColumnJPA のとアノテーションの違いは何ですか@Basic? これらは一緒に使用できますか?すべきこれらは一緒に使用できますか? それとも、どちらか 1 つで十分ですか?

ベストアンサー1

  • @Basic属性が永続化され、標準のマッピングが使用されることを示します。属性を遅延ロードするかどうか、および属性が null 可能かどうかを指定できるパラメーターがあります。

  • @Column属性が永続化されるデータベース内の列の名前を指定できます。

一方を指定せずにもう一方を指定すると、合理的なデフォルトの動作が得られるため、通常は特別な場合を除き、どちらか一方のみが使用されます。

属性の遅延読み込みを行い、列名を指定する場合は次のようにします。

 @Basic(fetch=FetchType.LAZY)
 @Column(name="WIBBLE")

デフォルトの非遅延動作が必要な場合は、 だけで@Column十分です。

おすすめ記事