这是我
1 单向一对多:
实体类:(课程类)Grade与(学生类)Student的一对多关系
学生类:

public class Student implements java.io.Serializable {// Fieldsprivate Long id;private String name;private Integer age;private Long gradeId;//省略set、get方法
}

bhm.xml:

<hibernate-mapping><class name="com.zx.model.Student" table="student" catalog="hibernate"><id name="id" type="java.lang.Long"><column name="id" /><generator class="native" /></id><property name="name" type="java.lang.String"><column name="name" length="50" /></property><property name="age" type="java.lang.Integer"><column name="age" /></property><property name="gradeId" type="java.lang.Long"><column name="grade_id" /></property></class>
</hibernate-mapping>

课程类:

public class Grade implements java.io.Serializable {// Fieldsprivate Long id;private String name;
}

xml

<hibernate-mapping><class name="com.zx.model.Grade" table="grade" catalog="hibernate"><id name="id" type="java.lang.Long"><column name="id" /><generator class="native" /></id><property name="name" type="java.lang.String"><column name="name" length="50" /></property><!-- 配置与student一对多的关系--><set name="students" inverse="true" cascade="delete">  <key column="grade_id" />  <one-to-many class="com.zx.model.Student"/>  </set>  </class>
</hibernate-mapping>

测试findById():

    public static void main(String[] args) {GradeDAO gradeDAO = new GradeDAO();Grade grade = new Grade();grade.setId(1L);Grade grade2 = gradeDAO.findById(1L);   for (Student stu : grade2.getStudents()) {log.debug(stu.getName());}}

关联查询不管inverse、cascade为何值时,都会查询到课程对应得学生集合。插入时只插入一张表,不会级联。

2 双向关联映射
在两个关联实体中,同时配置了两种关联关系,这是这两个实体间就形成了双向关联映射,查询数据时互不影响,但是插入、更新、删除数据就会产生级联更新的问题。一班来说关系的维护交给多的一方维护,那么就需要在“一”的一方的配置文件中,加入invers=”true”的设置。
Student:

   <hibernate-mapping><class name="com.zx.model.Student" table="student" catalog="hibernate">....<!-- <property name="gradeId" type="java.lang.Long"><column name="grade_id" /></property> --><!-- 配置双向关联 --><many-to-one name="grade"><column name="grade_id"></column></many-to-one></class>
</hibernate-mapping>

Grade:

<hibernate-mapping><class name="com.zx.model.Grade" table="grade" catalog="hibernate">...<!-- 配置与student一对多的关系, **维护关系交给多的一方维护** --><set name="students" inverse="true" cascade="all">  <key column="grade_id" />  <one-to-many class="com.zx.model.Student"/>  </set>  </class>
</hibernate-mapping>

Hibernate的关联映射--一对多、相关推荐

  1. (转)Hibernate关联映射——一对多(多对一)

    http://blog.csdn.net/yerenyuan_pku/article/details/70152173 Hibernate关联映射--一对多(多对一) 我们以客户(Customer)与 ...

  2. 关联映射 一对多 实验心得_使用影响映射来帮助您的团队进行实验

    关联映射 一对多 实验心得 影响映射是一种在领导者和项目团队之间建立共识的技术. 影响图以引人入胜的研讨会形式提供,是以鼓励创新的方式启动工作流的理想方式. Gojko Adzic首次在2011年的小 ...

  3. 初识Hibernate之关联映射(一)

    上篇文章我们对持久化对象进行的学习,了解了它的三种不同的状态并通过它完成对数据库的映射操作.但这都是基于单张表的操作,如果两张或者两张以上的表之间存在某种关联,我们又该如何利用持久化对象进行操作呢?本 ...

  4. 8 Hibernate:关联映射(Associations)

    Hibernate 关联映射(Associations)分为: 8.1 Hibernate:一对一关联映射    8.1.1 Hibernate:一对一单向关联(unidirectional)     ...

  5. chapter6 Hibernate的关联映射

    回顾 ·          下面这个异常是怎么回事?该怎么解决? org.hibernate.MappingException: Unknownentity: com.aptech.jb.entity ...

  6. Hibernate一对一关联映射配置

    一对一关联 Hibernate提供了两种映射一对一关联关系的方式:按照外键映射和按照主键映射.下面以员工账号和员工档案表为例,介绍这两种映射方式,并使用这两种映射方式分别完成以下持久化操作: (1)保 ...

  7. Hibernate之关联映射

    在现实生活中 ,很少有对象是孤立存在的,例如老师,往往和被授课的学生存在关联关系,如果得到了某个老师实例,那么我们就可以直接获取该老师 对应的全部学生.同样,我们得到了一个学生实例  ,我们也可以获取 ...

  8. Hibernate(九)一对多双向关联映射

    上次的博文Hibernate从入门到精通(八)一对多单向关联映射中,我们讲解了一下一对多单向映射的相关 内容,这次我们讲解一下一对多双向映射的相关内容. 一对多双向关联映射 一对多双向关联映 射,即在 ...

  9. Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射

    在我们以前的数据库设计中,设计表就不是一件轻松的事情.多种事物之间往往都是有这样那样的关系的.那怎样设计表格,才能既将事情描述明白,又能使数据库设计的比较合理呢?那里我们提供了好多规范,好多约束来满足 ...

最新文章

  1. 视觉导航的神经拓扑SLAM
  2. 关于Mysql5.6半同步主从复制的开启方法【转】
  3. 2016总结 - 我的转型之路
  4. 小心robots.txt影响蜘蛛的爬行
  5. 【MySQL】sysbench压测服务器及结果解读
  6. c语言左移15位,关于c语言中左移右移运算符的问题
  7. oracle表格颜色,如何在oracle中使用光标更新特定颜色
  8. 大数据解密之你的同事都跳槽到了哪些公司
  9. svn服务器地址更改
  10. 在Struts 2中使用JSON Ajax
  11. Java入门视频教程
  12. 概要设计模板 外部接口设计_0226 rest接口设计
  13. win10计算机内存,win10多大内存够用 win10系统需要多大的运行内存
  14. Oracle system identifier already exists specify another SID
  15. 教你一招永久去除WPS广告
  16. 二叉树非递归遍历的一点理解
  17. 个人博客园样式、背景及细节美化过程
  18. 给iframe添加loading状态
  19. DDoS攻击的原理是什么
  20. 应届生应聘java需要掌握的技能

热门文章

  1. CF868F Yet Another Minimization Problem
  2. FFT/NTT/FMT/FWT题目
  3. F.孤独(牛客小白月赛39)
  4. 「雅礼集训 2017 Day7」事情的相似度(后缀自动机+LCT+树状数组)
  5. 【2018.5.19】模拟赛之二-ssl2433 文件名排序【字符串】
  6. 【整体二分】区间第k小(金牌导航 整体二分-1)
  7. 【最大流】牛棚安排(jzoj 1259)
  8. 公共子串 字符串哈希
  9. SSL / TLS 协议运行机制详解
  10. 介绍Java中的内存泄漏