您的位置:首页 > 其它

hibernate映射总结详解: 按主键映射一对一关联关系

2007-09-05 16:35 399 查看
Ⅴ. 映射实体关联关系 --- 一对一关联关系 --- 按主键映射
如果customer表和 address表定义成如下关系:
Customers表
Addresses表
Id <pk>
Id <pk> <fk>
Name
City
Street
Province
Zipcode
Addresses表的id是addresses的主键,同时作为外键关联customers表。
在customer.hbm.xml中,用<one-to-one>元素来映射customer类的address属性:
<one-to-one name=“address” class=“mypack.address”cascade=“all”>
在address.hbm.xml中,用<one-to-one>元素来映射address类的customer属性:
<one-to-one name=“customer” class=“mypack.customer”constrained =“true”>
<one-to-one>元素的constrained 属性为true,表明addresses表的id主键同时作为外键参照customers表。在address.hbm.xml中,必须为oid使用foreign标识符生成策略:
<id name=“id” type=“long” column=“id”>
<generator class=“foreign”>
<param name=“property”>customer</param>
</generator>
</id>
如果使用foreign标识符生成策略,Hibernate会使address对象与关联的customer对象共享一个oid。
总结:一对一按主键映射,用<one-to-one>写在每个one方。在被关联即address.hbm.xml映射文件中<one-to-one>元素要加上constrained=true属性。并且id要用foreign标识符策略。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: