两个蝴蝶飞 2009-08-31
many-to-one 元素
属性:
单向N——1 关系 只需从多的一端访问1的一端;
应该在多的一端添加一个属性,改属性引用1端的关联实体;
A .-->无连接表的N——1 关联:
直接使用many-to-one 元素 来映射N——1 关联时,hibernate将无须使用连接表,直接使用外键关联策略来处理这种关联映射;
eg:
<!-- 用于映射N-1关联实体,指定关联实体类为Address
指定外键列名为addressId,并指定级联全部操作-->
<many-to-onename="address"cascade="all"
class="Address" column="addressId"/>B.-->用连接表的N——1关联:
如果需要使用连接表来映射单向N——1关联,需要显示使用<join.../>该元素强制将一个类的属性映射到多张表中,通常也用于强制使用连接表!
join元素:
table:指定连接表名;
schema:指定连接表所在的Schema,用于覆盖根元素的default-Schema属性;
catalog:指定连接表所在的Catalog,用于覆盖根元素的default-Catalog属性;
eg:
<!-- 使用join元素强制使用连接表 -->
<jointable="person_address">
<!--映射连接表中参照本表主键的外键列-->
<keycolumn="personid"/>
<!--映射连接表中参照关联实体的外键列-->
<many-to-onename="address"cascade="all"
class="Address"column="addressId"/>
</join>