关联关系

一对一 A中包含B的对象,B中包含A的对象

一对多 A中包含B的集合,B中包含A的对象

多对多 A中包含B的集合,B中包含A的集合

1,一对多配置

  一名老师可以对应多名学生

2,模型类

    老师类中包含学生的集合(通常可以将集合直接进行初始化)

    学生类中包含老师的对象

3,配置

  

 TeacherModel.hbm.xml(教师)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="TeacherModel" table="tbl_teacher">
<id name="uuid">
<generator class="native"/>
</id>
<property name="teacherName"/>
<property name="nick"/>
<!-- name:集合对象名 -->
<set name="students">
<!-- 使用key描述对应的关系表中的外键字段 -->
<!-- column:外键字段名(student表中) -->
<key column="teacherUuid"/>
<!-- 使用one-to-many配置关联关系 -->
<!-- class:配置对应的关系模型类 -->
<one-to-many class="cn.itcast.h3.one2many.StudentModel"/>
</set>
</class>
</hibernate-mapping>
注意:key元素必须出现在one-to-many元素的前面,否则报错
StudentModel.hbm.xml(学生)
<hibernate-mapping package="cn.itcast.h3.realtion.one2many.vo" >
<class name="StudentModel" table="tbl_student">
<id name="uuid">
<generator class="native"/>
</id>
<property name="studentName"/>
<property name="className"/>
<!-- 配置多对一关系中的一方对象 -->
<!-- many-to-one描述多对一关系 -->
<!-- name:对象名 -->
<!-- column:外键字段名(student表中) -->
<!-- class:配置对应的关系模型类 -->
<many-to-one
name="teacher"
column="teacherUuid"
class="cn.itcast.h3.one2many.TeacherModel"
/>
</class>
</hibernate-mapping>

4,资源注册  

<mapping resource="cn/itcast/h3/one2many/vo/StudentModel.hbm.xml"/>
<mapping resource="cn/itcast/h3/one2many/vo/TeacherModel.hbm.xml"/>

5,备注:

  两边的配置也可以只配置一方,

  如果仅仅配置老师可以通过老师找到学生,但是不能通过学生找到老师

  如果只配置学生可以通过学生找到老师,但是不能通过老师找到学生

  

  

hibernate关联关系查询的更多相关文章

  1. Hibernate关联关系映射

    1.  Hibernate关联关系映射 1.1.  one to one <class name="Person"> <id name="id" ...

  2. Hibernate【查询、连接池、逆向工程】

    前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式....到目前为止,我们都是使用一些简单的主键查询阿...使用HQL查询所有的数据....本博文主要讲解Hiberna ...

  3. Hibernate:查询

    本文内容 OID查询 对象导航查询 HQL查询 QBC查询 SQL查询 首发日期:2018-07-31 hibernate的查询方式: hibernate有很多查询方式 OID查询 对象导航查询: H ...

  4. hibernate关联关系的crud2

    hibernate关联关系的CRUD操作,解释都在注释里了,讲了fetchType.cascade. User类: package com.oracle.hibernate; import javax ...

  5. Hibernate 关联关系(一对多)

    Hibernate 关联关系(一对多) 1. 什么是关联(association) 1.1 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性.例如: class B ...

  6. hibernate模糊查询

    hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...

  7. hibernate关联关系笔记

    Hibernate关联关系笔记 单向N:1 *  有连接表:在N方使用<join>/<many-to-one>.1方无需配置与之关联的持久化类. *  没有连接表:在N方使用& ...

  8. Hibernate的查询方式总结

    Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...

  9. atitit。 hb Hibernate sql 查询使用

    atitit. hb  Hibernate sql 查询使用 #----------返回list<map>法..这个推荐使用.      q.setResultTransformer(Tr ...

随机推荐

  1. Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

    注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/et ...

  2. 系统无法安装 OfficeControl.ocx 控件如何解决

      在OA上要直接查看word等公告文件,就必须安装office控件.要安装office控件,需要在IE浏览器中做相应的设置.如何设置呢,下面由小编具体介绍下. 工具/原料   OA IE浏览器 方法 ...

  3. Serv-u 10.3 的图文安装教程及使用方法

    现在很多windows服务器都是使用serv_u作为ftp服务器,一般情况下我们使用Serv-U FTP Server v6.4.0.6,这里以serv_u 10.3为例介绍下,方便需要的朋友   一 ...

  4. Elasticsearch学习系列之mapping映射

    什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...

  5. 工作总结 2018-4-13 bootstrapTable 属性 queryParams: queryParams,//参数 get 中 %5B%5D 数组的意思

    <table id="dataTable" data-toggle="table" data-show-columns="true" ...

  6. paramiko_su_root

    #coding=utf8 import paramiko import time import logging ''' if user root,can not login,must use user ...

  7. http trigger 事件源是事件的生产者,函数是事件的处理者

    以函数计算作为 API 网关后端服务_用户指南(开放 API)_API 网关-阿里云  https://help.aliyun.com/document_detail/54788.html 创建触发器 ...

  8. https://security.stackexchange.com/questions/68405/what-is-tmunblock-cgi-and-can-it-be-exploited-by-shellshock-linux-apache-w

    hndUnblock.cgi   Line #1124 : 187.38.233.45 - - [15/Jan/2018:21:36:45 +0800] "GET /hndUnblock.c ...

  9. Application Warm-up Module IIS7.5 也有Warm Up功能,让ASP.NET 第一次Request不变慢

    Application Warm-up Module: 應用程式的暖機代理人 http://www.microsoft.com/taiwan/technet/iis/expand/Applicatio ...

  10. ExecuteNonQuery()的用法

    ExecuteNonQuery()的用法 下面我们将详细讲解如何在Page_Load()中对数据库的增加.删除.修改,最后我们再来总结一下ExecuteNonQuery(),ExecuteScalar ...