User

/xml配置文件/Hibernate的类的配置/User.hbm.xml
<!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.domain.User" table="sys_user">
        <id name="user_id" column="user_id">
            <generator class="native"></generator>
        </id>
        

        <property name="user_code" ></property>
        <property name="user_name"></property>
        <property name="user_password"></property>
        <property name="user_state"></property>

        
        <!-- 配置多对多的关系 集合 对象是role
        name:集合的名字,name="sr"表示User类里有private Set<Role> sr = new HashSet<Role>();
        table:中间表的名字

        set:key:自己在中间表的外键字段名
        set:class:对方的全限定名
        set:column:对方在中间表的外键字段名
        
        不需要设置cascade="save-update",因为实际开发中先设置好role,然后设置user,并给user添加/删除/修改role,
        而不会在增加user的同时增加role。另外user添加/删除/修改role使用user.getRoleSet.add/remove。
        千万不能设置cascade="delete",不然删除一个user会删除其管理的所有role,从而删除这些role管理的所有数据(user和中间表里)。
         -->
        <set name="sr" table="sys_user_role" >
            <key column="wj_user_id"></key>
            <many-to-many class="com.domain.Role" column="wj_role_id"/>
        </set>    
    </class>
</hibernate-mapping>

猜你喜欢

转载自blog.csdn.net/weixin_43292547/article/details/89309927