架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 24907|回复: 0

[资料] nhibernate中的many-to-many 和one-to-many还有many-to-one分别是什么意思

[复制链接]
发表于 2016-8-2 15:59:15 | 显示全部楼层 |阅读模式

many-to-many 多对多 比如一个用户可以有多种角色 一种角色可以对用多个不同的用户
所以角色和用户之间的关系是多对多的关系 一般要用第三张表来出来两者对应的关系
one-to-many 一对多  比如一个老师可以对应很多个学生
many-to-one 相反的是多对一  
one-to-one  一对一 比如公民和身份证就是一一对应的

在hibernate中以1对多为例(老师-学生)
配置文件
# Teacher.hbm.xml
   
  
  1. <hibernate-mapping>
  2.     <class name="cn.itcast.hibernate.onetomany.Teacher" table="teacher">
  3.        <id name="id" column="id" type="string">
  4.           <generator class="uuid"></generator>
  5.        </id>
  6.        <property name="name" column="name" type="string"></property>
  7.        <!-- 有多个学生  Set
  8.             key 指定的是学生表中的外键
  9.             one-to-many 指定存储到student表的持久化类
  10.             inverse="true" 指定关系维护的方向      1:n的关系中(多的一方应该维护关系)  关系的维护问题
  11.        -->
  12.        <set name="students" inverse="true">
  13.             <key column="teacher_id"></key>
  14.             <one-to-many class="cn.itcast.hibernate.onetomany.Student"/>
  15.        </set>
  16.     </class>
  17.    </hibernate-mapping>
  18.    
  19.    # Student.hbm.xml
  20.    
  21.    <hibernate-mapping>
  22.     <class name="cn.itcast.hibernate.onetomany.Student" table="student">
  23.        <id name="id" column="id" type="string">
  24.           <generator class="uuid"></generator>
  25.        </id>
  26.        <property name="name" column="name" type="string"></property>
  27.        <!--
  28.            name属性指定的是加载的1这一端的属性的名称
  29.            class属性指定加载哪一个持久化类
  30.            column属性指定的是按照哪一个外键加载该持久化类
  31.        -->
  32.        <many-to-one name="teacher" class="cn.itcast.hibernate.onetomany.Teacher" column="teacher_id"></many-to-one>
  33.     </class>
  34.    </hibernate-mapping>
复制代码





上一篇:asp.net mvc控制器返回404或者502状态
下一篇:c# ForEach的用法
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-9-1 21:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表