@Column
JPA のとアノテーションの違いは何ですか@Basic
? これらは一緒に使用できますか?すべきこれらは一緒に使用できますか? それとも、どちらか 1 つで十分ですか?
ベストアンサー1
@Basic
属性が永続化され、標準のマッピングが使用されることを示します。属性を遅延ロードするかどうか、および属性が null 可能かどうかを指定できるパラメーターがあります。@Column
属性が永続化されるデータベース内の列の名前を指定できます。
一方を指定せずにもう一方を指定すると、合理的なデフォルトの動作が得られるため、通常は特別な場合を除き、どちらか一方のみが使用されます。
属性の遅延読み込みを行い、列名を指定する場合は次のようにします。
@Basic(fetch=FetchType.LAZY)
@Column(name="WIBBLE")
デフォルトの非遅延動作が必要な場合は、 だけで@Column
十分です。