>  기사  >  Java  >  JPA에서 복합 기본 키를 사용하여 데이터 버전 관리를 구현하는 방법은 무엇입니까?

JPA에서 복합 기본 키를 사용하여 데이터 버전 관리를 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-27 11:01:01585검색

How to Implement Data Versioning with Composite Primary Keys in JPA?

JPA를 사용한 복합 기본 키 처리

데이터 버전 관리에는 엔터티를 다른 버전으로 복제하는 기능이 필요하므로 복합 키를 만드는 것이 필수적입니다. 엔터티의 기본 키.

복합 기본 키를 사용한 엔터티 정의

JPA에서는 @EmbeddedId 또는 @IdClass 주석을 사용하여 복합 기본 키를 정의할 수 있습니다.

@EmbeddedId 사용

키에 대해 별도의 클래스(@Embeddable 주석 처리)를 정의한 다음 엔터티에서 @EmbeddedId로 주석을 답니다.

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

    private String columnA;
    // getters and setters
}

@Embeddable
public class MyKey implements Serializable {

    private int id;
    private int version;
    // getters and setters
}</code>

@IdClass 사용

또는 @IdClass로 클래스에 주석을 달고 클래스 내에서 ID 속성을 @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>

복제 버전이 있는 엔터티

엔터티가 정의되면 새 버전으로 복제될 수 있습니다. 예를 들어 ID=1인 첫 번째 엔터티의 새 버전을 생성하려면 다음을 수행합니다.

<code class="java">YourEntity newVersion = new YourEntity();
newVersion.setMyKey(new MyKey(1, 1)); // new version
newVersion.setColumnA("Some Other Data");
entityManager.persist(newVersion);</code>

위 내용은 JPA에서 복합 기본 키를 사용하여 데이터 버전 관리를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.