淺析Hibernate映射(二)——關係映射(5)

單向多對多關聯映射html

單向多對多關聯對象模型:node

映射後的關係模型:app

多對多映射,會產生第三張表來維護關係spa

映射文件:.net

User.hbm.xmlhibernate

[html]  view plain copy print ?
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC   
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping package="com.jialin.hibernate">  
  6.     <class name="User" table="t_user">  
  7.         <id name="id">  
  8.             <generator class="native" />  
  9.         </id>  
  10.   
  11.         <property name="name" />  
  12.         <set name="roles" table="t_user_role">  
  13.             <key column="userid" />  
  14.             <many-to-many class="Role" column="roleid" />  
  15.         </set>  
  16.     </class>  
  17. </hibernate-mapping>  

Role.hbm.xmlxml

[html]  view plain copy print ?
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC   
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping package="com.jialin.hibernate">  
  6.     <class name="Role" table="t_role">  
  7.         <id name="id">  
  8.             <generator class="native" />  
  9.         </id>  
  10.   
  11.         <property name="name" />  
  12.   
  13.     </class>  
  14.   
  15. </hibernate-mapping>  

雙向多對多關聯映射htm

雙向多對多關聯對象模型對象

映射出的關係模型與單向同樣。blog

映射方法基本相同,只是在多的一端加入:
 <set name="users" table="t_user_role">
      <key column="role_id" not-null="true"/>
      <many-to-many class="com.bjpowernode.hibernate.User" column="user_id"/>
 </set>

須要注意: * 生成的中間表名稱必須同樣 * 生成的中間表中的字段必須同樣

相關文章
相關標籤/搜索