随笔 - 0, 文章 - 75, 评论 - 0, 引用 - 0
数据加载中……

Hibernate关联映射3

当设置了cascade属性不为none时,Hibernate
会自动持久化所关联的对象

cascade
属性的设置会带来性能上的变动,需谨慎设置

<set
name="streets" table="street"
cascade="all"
>



</set>



Cascade属性值























属性值


含义和作用


all


对所有操作进行级联操作


save-update


执行保存和更新操作时进行级联操作


delete


执行删除操作时进行级联操作


none


对所有操作不进行级联操作



术语“inverse”直译为“反转”
在Hibernate
中,inverse属性指定了关联关系中的方向
关联关系中,inverse="false"
的为主动方,由主动方负责维护关联关系
在一对多关联中,将one 方的inverse 设置为true,这将有助性能的改善



<set
name="streets" table="street" cascade="all"
inverse="true"
>



</set>


inverse指的是关联关系的控制方向,而cascade指的是层级之间的连锁操作



配置多对多关联:


每个人可以参加一个或多个项目,每个项目由一个或多个人完成


Hibernate关联映射3


<class
name="Project" table="project" >



<
set
name="members"
table="r_emp_proj">



<key
column="r_proj_id"
/>



<many-to-many class="
cn.jbit.aptech.jb.entity.Employee"



column="r_emp_id"
/>



</
set>


</class>




<class
name="Employee" table="employee" >


<set
name="projects"
table="r_emp_proj"
inverse="true"
>



<key
column="r_emp_id"
/>



<many-to-many class="
cn.jbit.aptech.jb.entity.Project"



column="r_proj_id"
/>


</set>


</class>

posted on 2012-04-22 15:49 hantai 阅读(114) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: