Hibernate關(guān)聯(lián)映射3
會自動持久化所關(guān)聯(lián)的對象
屬性的設(shè)置會帶來性能上的變動,需謹慎設(shè)置
<set
name="streets" table="street" cascade="all"
>
…
</set>
屬性值 | 含義和作用 |
all | 對所有操作進行級聯(lián)操作 |
save-update | 執(zhí)行保存和更新操作時進行級聯(lián)操作 |
delete | 執(zhí)行刪除操作時進行級聯(lián)操作 |
none | 對所有操作不進行級聯(lián)操作 |
在Hibernate
中,inverse屬性指定了關(guān)聯(lián)關(guān)系中的方向
關(guān)聯(lián)關(guān)系中,inverse="false"
的為主動方,由主動方負責(zé)維護關(guān)聯(lián)關(guān)系
在一對多關(guān)聯(lián)中,將one 方的inverse 設(shè)置為true,這將有助性能的改善
<set
name="streets" table="street" cascade="all" inverse="true"
>
…
</set>
配置多對多關(guān)聯(lián):
每個人可以參加一個或多個項目,每個項目由一個或多個人完成
<class
name="Project" table="project" >
<
name="members"
table="r_emp_proj">
<key
/>
<many-to-many class="
column="r_emp_id"
/>
</
</class>
<class
name="Employee" table="employee" >
name="projects"
table="r_emp_proj"
inverse="true">
<key
/>
<many-to-many class="
column="r_proj_id"
/>
</class>