hibernate關系映射(多對多)

          Posted on 2008-08-21 12:04 H2O 閱讀(485) 評論(0)  編輯  收藏 所屬分類: hibernate
          用戶與角色---多對多

          用戶
          package com.yz.pojos;

          import java.util.HashSet;
          import java.util.Set;

          /**
           * Users generated by MyEclipse Persistence Tools
           
          */


          public class Users implements java.io.Serializable {

              
          // Fields

              
          private Integer uid;

              
          private String name;
              
          //告訴用戶所有的角色集合 ,一個用戶可以屬于多個角色
              private Set roles = new HashSet(0);

              
          // Constructors

              
          /** default constructor */
              
          public Users() {
              }


              
          /** minimal constructor */
              
          public Users(String name) {
                  
          this.name = name;
              }


              
          /** full constructor */
              
          public Users(String name, Set roles) {
                  
          this.name = name;
                  
          this.roles = roles;
              }


              
          // Property accessors

              
          public Integer getUid() {
                  
          return this.uid;
              }


              
          public void setUid(Integer uid) {
                  
          this.uid = uid;
              }


              
          public String getName() {
                  
          return this.name;
              }


              
          public void setName(String name) {
                  
          this.name = name;
              }


              
          public Set getRoles() {
                  
          return roles;
              }


              
          public void setRoles(Set roles) {
                  
          this.roles = roles;
              }




          }

          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
          >
          <!-- 
              Mapping file autogenerated by MyEclipse Persistence Tools
          -->
          <hibernate-mapping>
              
          <class name="com.yz.pojos.Users" table="users" catalog="ssh">
                  
          <id name="uid" type="java.lang.Integer">
                      
          <column name="uid" />
                      
          <generator class="native" />
                  
          </id>
                  
          <property name="name" type="java.lang.String">
                      
          <column name="name" length="32" not-null="true" />
                  
          </property>
                  
          <!-- 中間表 -->
                  
          <set name="roles" inverse="false" table="userroles">
                      
          <key>
                      
          <!-- 通過中間表的uid找到Users -->
                          
          <column name="uid" />
                      
          </key>
                      
          <!-- 通過中間表的rid找到對應的Roles -->
                      
          <many-to-many class="com.yz.pojos.Roles" column="rid"></many-to-many>
                  
          </set>
              
          </class>
          </hibernate-mapping>

          角色
          package com.yz.pojos;

          import java.util.HashSet;
          import java.util.Set;

          /**
           * Roles generated by MyEclipse Persistence Tools
           
          */


          public class Roles implements java.io.Serializable {

              
          // Fields

              
          private Integer rid;

              
          private String rname;
           
          //一個角色可以被多個用戶所關聯,所以應該放用戶對象
              private Set users = new HashSet(0);

              
          // Constructors

              
          /** default constructor */
              
          public Roles() {
              }


              
          /** minimal constructor */
              
          public Roles(String rname) {
                  
          this.rname = rname;
              }


              
          /** full constructor */
              
          public Roles(String rname, Set users) {
                  
          this.rname = rname;
                  
          this.users = users;
              }


              
          // Property accessors

              
          public Integer getRid() {
                  
          return this.rid;
              }


              
          public void setRid(Integer rid) {
                  
          this.rid = rid;
              }


              
          public String getRname() {
                  
          return this.rname;
              }


              
          public void setRname(String rname) {
                  
          this.rname = rname;
              }


              
          public Set getUsers() {
                  
          return users;
              }


              
          public void setUsers(Set users) {
                  
          this.users = users;
              }


              

          }

          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
          >
          <!-- 
              Mapping file autogenerated by MyEclipse Persistence Tools
          -->
          <hibernate-mapping>
              
          <class name="com.yz.pojos.Roles" table="roles" catalog="ssh">
                  
          <id name="rid" type="java.lang.Integer">
                      
          <column name="rid" />
                      
          <generator class="native" />
                  
          </id>
                  
          <property name="rname" type="java.lang.String">
                      
          <column name="rname" length="32" not-null="true" />
                  
          </property>
                  
          <set name="users" inverse="true" table="userroles">
                      
          <key>
                          
          <!-- 通過中間表的rid找到對應的角色 -->
                          
          <column name="rid" />
                      
          </key>
                      
          <!-- 通過中間標的uid找到對應的用戶 -->
                      
          <many-to-many class="com.yz.pojos.Users" column="uid"></many-to-many>
                  
          </set>
              
          </class>
          </hibernate-mapping>

          posts - 0, comments - 21, trackbacks - 0, articles - 101

          Copyright © H2O

          主站蜘蛛池模板: 岳阳市| 东平县| 九龙城区| 蓬莱市| 塘沽区| 云南省| 项城市| 大安市| 益阳市| 正安县| 杭州市| 三江| 昌江| 阆中市| 林周县| 富民县| 湖南省| 永定县| 建湖县| 米泉市| 宁夏| 林芝县| 资源县| 即墨市| 台东县| 兴山县| 油尖旺区| 凤山县| 兰西县| 肇庆市| 巍山| 托克托县| 阳春市| 古浪县| 通化市| 泉州市| 巩义市| 海丰县| 全州县| 孟州市| 资溪县|