Hibernate关系配置之多对多映射配置

来源:互联网 发布:mysql change column 编辑:程序博客网 时间:2024/06/06 13:14

客户实体类—-“多”

public class User {    private Integer user_id;    private String user_name;    private String user_password;    //一个用户有多个角色    private Set<Role> setRole = new HashSet<Role>();    public Integer getUser_id() {        return user_id;    }    public void setUser_id(Integer user_id) {        this.user_id  = user_id;    }    public String getUser_name() {        return user_name;    }    public void setUser_name(String user_name) {        this.user_name = user_name;    }    public String getUser_password() {        return user_password;    }    public void setUser_password(String user_password) {        this.user_password = user_password;    }    public Set<Role> getSetRole() {        return setRole;    }    public void setSetRole(Set<Role> setRole) {        this.setRole = setRole;    }}

客户实体类配置—-“多”

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <!-- 配置类和表对应         class标签            name属性:实体类全路径            table属性:数据库表名称    -->    <class name="com.jiudianlianxian.manytomany.User" table="t_user">        <id name="user_id" column="user_id">            <generator class="native"></generator>        </id>        <property name="user_name" column="user_name"></property>        <property name="user_password" column="user_password"></property>        <!-- name属性:角色set集合名 -->        <!-- table属性:第三张表名 -->        <set name="setRole" table="user_role" cascade="save-update,delete">            <!-- key标签里面的配置 -->            <!-- column属性:配置当前映射文件在第三张表的外键名称 -->            <key column="userid"></key>            <!-- class属性:角色实体类全路径 -->            <!-- column属性:角色在第三张表的外键名称 -->            <many-to-many class="com.jiudianlianxian.manytomany.Role" column="roleid"></many-to-many>        </set>    </class></hibernate-mapping>

角色实体类—-“多”

public class Role {    private Integer role_id;    private String role_name;    private String role_memo;    //一个角色有多个用户    private Set<User> setUser = new HashSet<User>();    public Integer getRole_id() {        return role_id;    }    public void setRole_id(Integer role_id) {        this.role_id = role_id;    }    public String getRole_name() {        return role_name;    }    public void setRole_name(String role_name) {        this.role_name = role_name;    }    public String getRole_memo() {        return role_memo;    }    public void setRole_memo(String role_memo) {        this.role_memo = role_memo;    }    public Set<User> getSetUser() {        return setUser;    }    public void setSetUser(Set<User> setUser) {        this.setUser = setUser;    }}

角色实体类配置—-“多”

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.jiudianlianxian.manytomany.Role" table="t_role">        <id name="role_id" column="role_id">            <generator class="native"></generator>        </id>        <property name="role_name" column="role_name"></property>        <property name="role_memo" column="role_memo"></property>        <!-- name属性:用户set集合名 -->        <!-- table属性:第三张表名 -->        <set name="setUser" table="user_role">            <!-- key标签里面的配置 -->            <!-- column属性:配置当前映射文件在第三张表的外键名称 -->            <key column="roleid"></key>            <!-- class属性:用户实体类全路径 -->            <!-- column属性:用户在第三张表的外键名称 -->            <many-to-many class="com.jiudianlianxian.manytomany.User" column="userid"></many-to-many>        </set>    </class></hibernate-mapping>
原创粉丝点击