`
wangtong40
  • 浏览: 248734 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate 多对多关联

    博客分类:
  • ORM
阅读更多
xml 代码
  1. CREATE TABLE GROUP   
  2. (   
  3.     GROUP_ID int not null ,   
  4.     NAME varchar(50) not null,   
  5.     PRIMARY KEY(GORUP_ID)   
  6. );   
  7.   
  8. CREATE TABLE ROLE(   
  9.     ROLE_ID int not null,   
  10.     NAME varchar(50) not null,   
  11.     PRIMARY KEY (ROLE_ID)   
  12. );   
  13.   
  14. CREATE TABLE GROUP_ROLE(   
  15.     GROUP_ID int not null,   
  16.     ROLE_ID int  not null,   
  17.     PRIMARY KEY (GROUP_ID,ROLE_ID),   
  18.     FOREIGN KEY (GROUP_ID) REFERENCES GROUP(GROUP_ID),   
  19.     FOREIGN KEY (ROLE_ID) REFERENECES ROLE(ROLE_ID)   
  20. )   
xml 代码
  1. <hibernate-mapping package="com.wangtong.hibernate.many2many.pojo">  
  2.     <class name="Group" table="GROUP">  
  3.         <id name="id" column="GROUP_ID" unsaved-value="0">  
  4.             <generator class="increment"/>  
  5.         </id>  
  6.         <property name="name" type="string"/>          
  7.         <set name="roles" table="GROUP_ROLE" cascade="save-update">                
  8.              <key column="group_id"/>  
  9.              <many-to-many class="Role" column="ROLE_ID"/>  
  10.        </set>  
  11.     </class>  
  12. </hibernate-mapping>  
java 代码
  1. public class Group {   
  2.     private int id;   
  3.     private String name;   
  4.     private Set roles = new HashSet();   
  5.     public int getId() {   
  6.         return id;   
  7.     }   
  8.     public void setId(int id) {   
  9.         this.id = id;   
  10.     }   
  11.     public String getName() {   
  12.         return name;   
  13.     }   
  14.     public void setName(String name) {   
  15.         this.name = name;   
  16.     }   
  17.     public Set getRoles() {   
  18.         return roles;   
  19.     }   
  20.     public void setRoles(Set roles) {   
  21.         this.roles = roles;   
  22.     }   
  23. }   
xml 代码
  1. <hibernate-mapping package="com.wangtong.hibernate.many2many.pojo">  
  2.     <class name="Role"  table="ROLE">  
  3.         <id name="id" column="role_id" unsaved-value="0">  
  4.             <generator class="increment"/>  
  5.         </id>  
  6.         <property name="name" type="string"/>          
  7.         <set name="groups" table="GROUP_ROLE" inverse="true" cascade="save-update">                
  8.         <key column="role_id"/>  
  9.         <many-to-many class="Group" column="GROUP_ID"/>  
  10.         </set>  
  11.     </class>  
  12. </hibernate-mapping>  
java 代码
  1. public class Role {   
  2.     private int id;   
  3.     private String name;   
  4.     private Set groups = new HashSet();   
  5.     public Set getGroups() {   
  6.         return groups;   
  7.     }   
  8.     public void setGroups(Set groups) {   
  9.         this.groups = groups;   
  10.     }   
  11.     public int getId() {   
  12.         return id;   
  13.     }   
  14.     public void setId(int id) {   
  15.         this.id = id;   
  16.     }   
  17.     public String getName() {   
  18.         return name;   
  19.     }   
  20.     public void setName(String name) {   
  21.         this.name = name;   
  22.     }   
  23. }   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics