Hibernate property-ref属性

property-ref是为了解决遗留系统中实体之间的关联。
默认情况下,把被关联实体主键字段作为关联字段。有了property-ref,就可以
通过它指定被关联实体主键以外的字段作为关联字段。

例如:

  1. <class name="Person">  
  2.     <id name="id">  
  3.         <generator class="hilo"/>  
  4.     </id>      
  5.     <property name="name" length="100"/>  
  6.     <set name="accounts"   
  7.         inverse="true">  
  8.         <key column="userId"  
  9.             property-ref="userId"/>  
  10.         <one-to-many class="Account"/>  
  11.     </set>      
  12.     <property name="userId" length="8"/>  
  13. </class>  
  14. <class name="Account">  
  15.     <id name="accountId" length="32">  
  16.         <generator class="uuid"/>  
  17.     </id>      
  18.     <many-to-one name="user"  
  19.         column="userId"  
  20.         property-ref="userId"/>      
  21.     <property name="type" not-null="true"/>  
  22. </class>  

 在Class Person的配置中,若外键未设置property-ref="userId" 的话,表之间的关联语句将如下:

 Person left outer join Account  on Person.id=Account.userId (被关联实体主键字段作为关联字段

设置,则如下:

Person left outer join Account  on Person.userId=Account.userId (property-ref指定的字段作为关联字段

 

转自 http://blog.csdn.net/fengyuanfa/article/details/5096764

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值