내가 해결하기 위해 다음과 같은 상황을 가지고 있지만 (최대 절전 모드와는 EclipseLink 시도) 작동 가져올 수 없습니다 :JPA : 임베드 클래스의 외래 키
Table_1:
Column_A is Primary Key
... some other columns do follow
.
Table_2:
Column_x is Primary Key and is Foreign Key to Table_1.Column_A
Column_y is Primary Key and is Foreign Key to Table_1.Column_A
Column_z is Primary Key
따라서 표 2에는 복합 기본 키가 있습니다.
class Table_1 {
@Id int Column_A;
}
:
나는 그것을 다음과 같은 방법을 실현하기 위해 노력했다. 내가 실행할 때class Table_2 {
@EmbeddedId PK key;
@Embeddable class PK {
@OneToOne(targetEntity=Table_1.class)
@JoinColumn(name="Column_x",referencedColumnName="Column_A")
int Column_x;
@OneToOne(targetEntity=Table_1.class)
@JoinColumn(name="Column_y",referencedColumnName="Column_A")
int Column_y;
int Column_z;
public boolean equals(Object O) { ... }
public int hashCode() { ... }
}
}
그러나, 나는 @Embeddable에 난 단지 "기본"주석을 사용할 수 있음은 EclipseLink에서 힌트를 얻을. 따라서, 내 질문은 위의 그려진 시나리오를 해결하는 방법입니다?
Table_1 클래스의 소스 코드에 액세스 할 수 없지만 그대로 사용해야합니다. 또한 Table_1에 외래 키를 설정하는 클래스/테이블이 더 많이있을 가능성이 높습니다.