2010-12-22 66 views
0

我有兩個類A和B應該是在一對一的關係由外鍵.A有a_id作爲主鍵和B有a_id外鍵 但我希望類B到只知道A的標識符(即沒有在B級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 

任何想法如何實現預期的行爲?

謝謝

回答

0

一對一用於繼承類型方案。對於這種情況,我不確定你想使用一對一還是多對一。嘗試多對一的獨特約束。

0

應該一起工作:

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

但我有troulbe 1:1個的關係,一些年前,在這種情況下,我使用了多對一的解決方法:

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