我有以下情况要解决,但无法正常工作(尝试了 Hibernate 和 EclipseLink):
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() { ... }
}
}
但是,当我运行时,我从 EclipseLink 得到提示,在 @Embeddable 中我只能使用“基本”注释。因此,我的问题是如何解决上述绘制的场景?
我无权访问 Table_1 类的源代码,但必须按原样使用它。此外,很可能会有更多的类/表为 Table_1 建立外键。