私は解決するために、以下のような状況を持っているが、それは(Hibernateと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への外部キーを確立するクラス/テーブルがさらに存在する可能性が非常に高いでしょう。