プログラミングにおけるアノテーションは、動作を構成しコードを容易にする便利な方法を提供します読みやすさ。 Java Persistence API (JPA) のコンテキストでは、一般的に使用される 2 つのアノテーションは @Id と @GeneratedValue(strategy = GenerationType.IDENTITY) です。それらの重要性を詳しく見てみましょう:
@Id 注釈は、フィールドをエンティティの主キーとしてマークします。これは、指定されたフィールドがエンティティの各インスタンスの一意の識別子を保持していることを JPA プロバイダーに通知します。ほとんどのシナリオでは、注釈付きフィールドには、データベース内の対応するテーブルの主キーが含まれます。
@GeneratedValueアノテーションは、GenerationType.IDENTITY ストラテジーと組み合わせて、割り当てにデータベースの自動インクリメント メカニズムを使用するように JPA プロバイダーに指示します。主キーの値。この戦略を使用すると、JPA プロバイダーはエンティティの作成時に、注釈付きフィールドの一意の連続した値を自動的に生成します。
たとえば、MySQL に id という名前の自動インクリメント列を持つテーブルがある場合、次のコードはAuthor クラスのインスタンスに一意の整数 ID を自動的に割り当てます:
@Entity public class Author { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Integer id; }
In GenerationType.IDENTITY に加えて、GenerationType.AUTO、GenerationType.SEQUENCE、GenerationType.TABLE などの他の戦略を @GeneratedValue とともに使用できます。戦略の選択は、データベースと構成設定によって異なります。
抽象ドメイン クラスを拡張すると、アプリケーション内のすべてのドメイン エンティティに共通の機能と動作を継承できます。このアプローチにより、コードの再利用性、一貫性、定義されたアーキテクチャへの準拠が促進されます。利点は次のとおりです。
これらの注釈と抽象化技術を活用することで、エンティティを簡素化できます永続性を維持し、JPA アプリケーションでの一貫したデータ処理を維持します。
以上が`@Id` および `@GeneratedValue(strategy = GenerationType.IDENTITY)` アノテーションは JPA でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。