JPA 및 Hibernate를 사용하여 복합 키 매핑
제공된 SQL 스키마에서 시간 테이블에는 levelStation 및 confPathID로 구성된 복합 기본 키가 있습니다. 전지. JPA 및 Hibernate에서 이러한 유형의 키를 매핑하려면 복합 기본 키를 나타내는 특수 주석이 필요합니다.
IdClass 주석 사용
한 가지 옵션은 @IdClass 주석을 사용하는 복합 키. 클래스에는 기본 키 열뿐만 아니라 getter, setter, equals 및 hashCode 메서드에 해당하는 필드가 있어야 합니다.
public class TimePK implements Serializable { private Integer levelStation; private Integer confPathID; // Getters, setters, equals, hashCode }
그런 다음 엔터티 클래스에 @IdClass 및 복합 키 개체로 주석이 추가됩니다.
@Entity @IdClass(TimePK.class) class Time implements Serializable { @Id private Integer levelStation; @Id private Integer confPathID; // Other properties }
EmbeddedId 사용 주석
또는 @EmbeddedId 주석을 사용하여 복합 키를 포함하는 클래스를 정의할 수 있습니다.
@Embeddable public class TimePK implements Serializable { private Integer levelStation; private Integer confPathID; // Getters, setters, equals, hashCode }
그런 다음 엔터티 클래스에 @EmbeddedId 및 포함된 복합으로 주석이 추가됩니다. 핵심 개체:
@Entity class Time implements Serializable { @EmbeddedId private TimePK timePK; // Other properties }
두 개체의 차이점 IdClass 및 EmbeddedId
@IdClass 및 @EmbeddedId 모두 복합 기본 키 매핑을 허용합니다. 그러나 몇 가지 사소한 차이점이 있습니다.
@IdClass와 @EmbeddedId 중 선택 애플리케이션의 특정 의미에 따라 다릅니다.
위 내용은 `@IdClass` 또는 `@EmbeddedId`를 사용하여 JPA 및 최대 절전 모드로 복합 키를 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!