0

我有两个类 A 和 B 应该通过外键建立一对一的关系。A 有 a_id 作为主键,B 有 a_id 外键但我希望 B 类只知道 A 的标识符(即没有B类中A类型的字段),而A加载整个B类

我试过(A班)

@OneToOne
@JoinColumn(name="a_id",referencedColumnName="a_id")
private B b;

但是hibernate试图加入

a.a_id = b.b_id

代替

a.a_id = b.a_id

任何想法如何实现预期行为?

谢谢

4

2 回答 2

0

它应该与:

@OneToOne
@JoinColumn(name="a_id") //better name would be a_fk
private B b;

但是一年前我遇到了 1:1 关系的麻烦,在这种情况下,我使用了 ManyToOne 作为解决方法:

@ManyToOne
@JoinColumn(name="a_id") //better name would be a_fk
private B b;
于 2010-12-22T06:31:01.123 回答
0

一对一用于继承类型的场景。我不确定您是否想在这种情况下使用一对一与多对一。尝试具有唯一约束的多对一。

于 2010-12-22T01:26:28.467 回答