2015-10-15 251 views
2

我有2個簡單的表在數據庫中。它們看起來像:休眠主外鍵字段

T1          T2 
ID NUMBER  Primary key   ID NUMBER Primary key & Foreign key from T1 
Value VARCHAR       Value VARCHAR 

對於T2的hibernate實體如何看起來像? 我試圖用包含T1映射類對象的@Embeddable類來做,但這不起作用。 謝謝。

UPD:當我需要這樣的結構時的完整用例如下: 我有業務實體表,其中包含特定業務用戶的一些數據,以及包含Id和值字段的公司表,我也想創建CompanyToBEntity表,包含關於哪個公司可以訪問什麼對象的數據(對象是任何一行bus.entities)。

所以我認爲這種結構適合這種情況。

PIC更好地描述它:

enter image description here

+0

如果ID在T2是初級和外鍵;那你爲什麼需要T2呢? –

+0

添加我的使用案例,將嘗試添加鏈接到圖片,以更好地描述案例 – AndreyKle

+0

請參閱http://stackoverflow.com/questions/6833370/jpa-onetoone-with-shared-id-can-i-do-this -better你必須使用OneToOne&MapsId –

回答

0

你可以嘗試Unidirectional one-to-one association vi primary key association 像 -

T1映射

@Id 
@Column(name="ID") 
private Integer ID; 

T2映射

@OneToOne(cascade=CascadeType.ALL) 
@PrimaryKeyJoinColumn 
private T1 t1; 

對於您訪問here多個參考,該示例是基於的hbm.xml

+3

與此我得到「沒有標識符指定爲實體」的Hibenrate版本呢? – wutzebaer

+1

@wutzebaer,它是休眠4 – subodh