自動インクリメントテーブル ID の @Id および @GeneratedValue(strategy = GenerationType.IDENTITY) アノテーションを理解する
Java Persistence API ( JPA)、@Id アノテーションはフィールドをエンティティの主キーとしてマークします。 @GeneratedValue アノテーションは、主キー値の生成方法を指定します。一般的に使用される戦略の 1 つは、データベースの自動インクリメント機能に依存する GenerationType.IDENTITY です。
これらのアノテーションを使用する理由
これらのアノテーションには、次のような利点があります。
使用例
次のコード例は、@Id および @GeneratedValue(strategy = GenerationType.IDENTITY) アノテーションの使用方法を示しています。 :
@Entity public class Author { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; private String address; }
この例では、id フィールドに両方の注釈が付けられています。 @Id および @GeneratedValue(strategy = GenerationType.IDENTITY)。これが主キーであり、自動インクリメントされる必要があることを示します。
GenerationType.IDENTITY と他の型
GenerationType.IDENTITY は、@GeneratedValue アノテーションで使用できるいくつかの戦略タイプの 1 つです。他のタイプには次のものがあります。
使用する適切な型は、使用されている特定のデータベースと要件によって異なります。
ドメイン拡張の必要性Class
ドメイン抽象クラスを拡張する必要性は、特定のアプリケーション要件によって異なります。通常、ドメイン クラスは、ドメイン モデル内のエンティティに共通の機能と動作を提供します。この例では、Author クラスは特定のドメイン関連の機能を必要としないため、Domain クラスを拡張する必要はないようです。
以上が`@Id` および `@GeneratedValue(strategy = GenerationType.IDENTITY)` アノテーションは JPA で自動インクリメント ID をどのように生成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。