ホームページ  >  記事  >  Java  >  JPAでバージョニングを使用して複合主キーを作成および処理するにはどうすればよいですか?

JPAでバージョニングを使用して複合主キーを作成および処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 08:05:02429ブラウズ

How to Create and Handle Composite Primary Keys with Versioning in JPA?

JPA での複合主キーの作成と処理

バージョン管理が必要なデータを管理する場合、多くの場合、以下からなる複合主キーを作成する必要があります。識別子とバージョン番号の組み合わせ。これにより、異なるバージョンの重複エントリを作成できます。

JPA でこのシナリオを実装するには、Embedded クラスを使用する方法と @IdClass アノテーションを使用する方法の 2 つの主な方法があります。

方法 1: 埋め込みクラス

  • 必要な主キー属性 (@Column、@JoinColumn など) を持つ埋め込みクラスを作成します。
  • エンティティ クラスを@EmbeddedId アノテーションを付けて、Embedded クラスを参照します。

例:

<code class="java">@Entity
public class YourEntity {
    @EmbeddedId
    private MyKey myKey;

    @Column(name = "ColumnA")
    private String columnA;

    // getters and setters
}

@Embeddable
public class MyKey implements Serializable {
    @Column(name = "Id", nullable = false)
    private int id;

    @Column(name = "Version", nullable = false)
    private int version;

    // getters and setters
}</code>

方法 2: @IdClass アノテーション

  • 複合キーを表す、必要な主キー属性を持つクラスを作成します。
  • Entity クラスに @IdClass アノテーションを付け、複合キー クラスを指定します。
  • 使用複合キー クラス内の両方の主キー属性の @Id アノテーション。

例:

<code class="java">@Entity
@IdClass(MyKey.class)
public class YourEntity {
   @Id
   private int id;
   @Id
   private int version;

}

public class MyKey implements Serializable {
   private int id;
   private int version;
}</code>

これらのアプローチの両方で、作成とJPA での複合主キーの処理により、複数のバージョンまたは重複を持つデータの管理が可能になります。

以上がJPAでバージョニングを使用して複合主キーを作成および処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。