zoukankan      html  css  js  c++  java
  • hibernate>多对多关联映射 小强斋

    多对多关联映射  (many-to-many)

    多对多关联映射,需要一个中间表,Hibernate会自动生成中间表

    一、多对多单向

    Role.hbm.xml

    <hibernate-mapping>
    	<class name="com.bjsxt.hibernate.Role" table="t_role">
    		<id name="id">
    			<generator class="native"/>
    		</id>
    		<property name="name"/>
    	</class>
    </hibernate-mapping>

    User.hbm.xml

    <hibernate-mapping>
    	<class name="com.bjsxt.hibernate.User" table="t_user">
    		<id name="id">
    			<generator class="native"/>
    		</id>
    		<property name="name"/>
    		<set name="roles" table="t_user_role">
    			<key column="userid"/>
    			<many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/>
    		</set>
    	</class>
    </hibernate-mapping>

    二、多对多双向

    Role.jbm.xml

    <hibernate-mapping>
    	<class name="com.bjsxt.hibernate.Role" table="t_role">
    		<id name="id">
    			<generator class="native"/>
    		</id>
    		<property name="name"/>
    		<set name="users" table="t_user_role" order-by="userid">
    			<key column="roleid"/>
    			<many-to-many class="com.bjsxt.hibernate.User" column="userid"/>
    		</set>
    	</class>
    </hibernate-mapping>

    User.hbm.xml

    <hibernate-mapping>
    	<class name="com.bjsxt.hibernate.User" table="t_user">
    		<id name="id">
    			<generator class="native"/>
    		</id>
    		<property name="name"/>
    		<set name="roles" table="t_user_role">
    			<key column="userid"/>
    			<many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/>
    		</set>
    	</class>
    </hibernate-mapping>


     



     

  • 相关阅读:
    web.xml
    ibatis配置
    ibatis基本语法
    XML文件解析
    进制转换
    BaseAction
    【编译】StreamInsight简介
    秒懂C#通过Emit动态生成代码
    百度地图应用开发(二)
    ListView与Adapter的那些事儿
  • 原文地址:https://www.cnblogs.com/xiaoqiangzhaitai/p/5429469.html
Copyright © 2011-2022 走看看