2015-10-15 174 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