hibernate 中映射关系配置
多对多 :
外键维护权,一方放弃inverse="true",并且不放弃维护权的一方,加入 cascade="save-update":推荐方案
Student {
// 一个学生对应 多门课
// Set
Set<Cource> cources ;
}
Cource {
// 一门课,多个学生
Set<Student> students ;
}
<!--
set:配置多对多
private Set<Course> courses = new HashSet<Course>();
* set name:表示集合的属性名称
* table="":表示中间表的名称
* key column="":对应中间表中Studuent对应的外键列的名称
* many-to-many class="":表示集合属性名称对应的实体类型(全路径)
* column="":对应中间表中Course对应的外键列的名称
-->
<set name="courses" table="t_s_c">
<key column="sid"></key>
<many-to-many class="cn.ibbidream.b_manyToMany.Course" column="cid"></many-to-many>
</set> <!--
set:配置多对多
Set<Student> students = new HashSet<Student>();
* set name:表示集合的属性名称
* table="":表示中间表的名称
* key column="":对应中间表中Course对应的外键列的名称
* many-to-many class="":表示集合属性名称对应的实体类型(全路径)
* column="":对应中间表中Student对应的外键列的名称
-->
<set name="students" table="t_s_c">
<key column="cid"></key>
<many-to-many class="cn.ibbidream.b_manyToMany.Student" column="sid"></many-to-many>
</set>
一对多 :
一般是在一方放弃。(从业务场景上来分析,一般先存1 方,再存多方,那么就存多方的时候建立关系就比较合理。)inverse="true"
Customer {
// 一个客户 多个订单
Set<Order> orders ;
}
Order {
// 一个订单 一个客户
Customer customer ;
}
hbm 文件配置
<!--
多的一端的映射
private Customer customer;
* name="":表示对象的属性名称
* class="":表示对象的属性名称的实体的全路径
* column="":表示外键列的名称
-->
<many-to-one name="customer" class="cn.ibbidream.a_oneToMany.Customer" column="cid"></many-to-one> <!--
set:一对多的映射:
Set<Order> orders = new HashSet<Order>();
* set name:集合的属性名称
* key column:多的一端的外键列的名称
* one-to-many class:集合中存放的对象的全路径
-->
<set name="orders">
<key column="cid"></key>
<one-to-many class="cn.ibbidream.a_oneToMany.Order"/>
</set>
一对一:
Company {
// 一个公司 一个地址
Address address;
}
Address {
// 一个地址 对应一个公司
Company company ;
}
hibernate 中映射关系配置的更多相关文章
- Hibernate关联映射关系
Hibernate关联映射关系 一.双向一对多关联映射关系:当类与类之间建立了关联,就可以方便的从一个对象导航到另一个或另一组与它关联的对象(一对多双向关联和多对一双向关联是完全一样的) 1.1创建实 ...
- Hibernate中映射一对一关联(按主键映射和外键映射)和组件映射
Hibernate中映射一对一关联(按主键映射和外键映射)和组件映射 Hibernate提供了两 ...
- Hibernate 中对象关系映射(ObjectRelationMapping)
1.什么是对象关系映射? 解析:对象-关系映射(Object Relational Mapping,简称ORM,对象关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说, ...
- Hibernate的映射文件配置
对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的代码如下: <?x ...
- JPA中映射关系详细说明(一对多,多对一,一对一、多对多)、@JoinColumn、mappedBy说明
JPA中的映射关系 jpa中维护one to one ,one to many, many to one ,many to many 四种映射关系. 在每个关系中,双方中的一方在其表中拥有连接列.那么 ...
- java框架篇---hibernate(一对一)映射关系
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,本质上就是将数据从 ...
- hibernate 继承映射关系( SINGLE_TABLE)
三种继承映射关系. 1,SINGLE_TABLE person student teacher 在一个表中,student和teacher继承自person,通过一个Discriminato ...
- hibernate多对多关系配置
一.创建用户,角色实体类. 一名用户可以有多个角色.一个角色可以对于多名用户. 用户实体类 public class User { private int uId; private String uN ...
- Hibernate中"二级缓存"配置
实体类 : package cn.happy.entity; public class Emp { private Integer empNo; private String empName; pub ...
随机推荐
- 重装mysql
重装mysql方法. 转自http://blog.sina.com.cn/s/blog_73000beb01012eh4.html 1.删除 mysql 1.1 sudo apt-get autore ...
- unpe13e 学习备忘1
转其他地方. http://blog.sina.com.cn/s/blog_a43aba560101a2s5.html 运行书本中的程序.1,首先,下载源码:unpv13e.tar.gz2,然后,编 ...
- 杂项-Java:JMX
ylbtech-杂项-Java:JMX 1.返回顶部 1. JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可 ...
- 机器学习——Day 3 多元线性回归
写在开头 由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客. 学习教程来源于github的Avik-Jain的100-Days-Of-MLCode 英文版:https:// ...
- sql数据库中常用连接
很简单的知识点,今天有点搞不清楚左外连接,右外连接:详见以下: --表stu id name 1, Jack 2, Tom 3, Kity 4, nono --表exam id grade 1, 56 ...
- PKUSC2017 游记 密码:blog密码
退役之前,写点破事乐呵乐呵 省选滚大粗 报了PKU和THU的SC 果然THU直接审核不通过... 于是就来到了PKU 滚粗狗就又续命几天. Day1 上午考数学 喜闻乐见啥都不会 出来一对题 ...
- 【LeetCode】-- 260. Single Number III
问题描述: https://leetcode.com/problems/single-number-iii/ 在一个数组里面,只有两个元素仅出现过1次,其余都出现过两次.找出出现仅一次的那两个(a, ...
- ClouderaManager与CDH
* ClouderaManager与CDH 集群简述 对于企业而言,一般的集群大小规模大概是如下映射关系: 集群大小 小:10~30节点 中:100~300节点 大:1000+节点 对应所需的zook ...
- HTTP05--HTML常用知识
一.URL地址含义 需要搞清URL和URI的差别,以及QueryString的含义. 二.GET和POST的区别 详细介绍可参考文章:http://zengrong.net/post/1802.htm ...
- 以简单的例子谈一下C#中的COPY
周五晚上加班的时候做一堆ComboBox直接的联动,然后呢,这些cbo的DataSource都是同一个DataTable,当时写代码的时候求快也就没有太注意DataTable的绑定,然后就出了一些小问 ...