我可以看到以下设置。尽管开始工作可能很棘手,而且根据我的经验,这是不必要的复杂性。
class A implements Serializable {
@Id
private PK id = new PK();
@Embeddable
public static final class PK implements Serializable {
@ManyToOne
@JoinColumns ({
@JoinColumn(name="A1_COL", referencedColumnName = "id.a1"),
@JoinColumn(name="A2_COL", referencedColumnName = "id.a2"),
})
B b;
@Basic String a3;
}
}
class B implements Serializable {
@Id
private PK id = new PK();
@Embeddable
public static final class PK implements Serializable {
@Basic String a1;
@Basic String a2;
@Basic String a3;
}
}
您应该可以通过
a.getId().getB()
根据需要添加 setter/getter。
通常这种类型的问题需要大量的反复试验,所以不要指望这会立即奏效。但这应该会给你一个挖掘的方向。确定最终配置后,请将其添加到您的问题中,以便将来有人可以从中受益。