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>


     



     

  • 相关阅读:
    hadoop 主机名 无法访问问题解决汇总
    Linux 集群时间同步(Ubuntu)
    odoo里面的一些ORM操作
    odoo12动作里添加向导
    odoo看板笔记
    odoo中接口开发
    odoo视图 “动作” 里添加菜单按钮:案例
    odoo源码学习之任务中的阶段字段stage_id
    python中的abstractmethod
    U盘启动盘安装win10出现cdboot:couldn't find ntldr
  • 原文地址:https://www.cnblogs.com/xqzt/p/5637194.html
Copyright © 2011-2022 走看看