多对多可通过两个多对一实现(把第三张表抽取出一个实体,然后两个多对应一个新实体)
多对多会建立三张表,第三张表存放两个外键分别指向两个多;然后两个外键作为第三张表的联合主键
一、单向关联映射
Many(维护端:User)
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//...
分类:
Web程序 时间:
2014-11-26 21:04:11
阅读次数:
229
关联映射:将关联关系(在对象模型中就是一个或多个引用)映射到数据库中
关系属性:在内存中建立两个对象之间的关系
双向关系:在关系对象中都能找到对方
单项关系:只在关系的一方能找到另一方
实体类设计原则:
1、实现无参构造函数(Hibernate要调用)
2、提供一个标识(用于唯一标识该对象,映射数据库主键)
3、建议不用final修饰实体类(Hibernate实现延迟加载使用C...
分类:
Web程序 时间:
2014-11-26 19:01:14
阅读次数:
159
共享主键关联映射:让两个对象具有相同的主键值,以表明他们之间的一对一对应的关系;数据库表不会有额外的字段来维护他们之间的关系,仅通过表的主键来关联
一、单向映射:
One(维护端:Person)
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD3.0//EN"
"http://h...
分类:
Web程序 时间:
2014-11-26 18:59:49
阅读次数:
220
唯一外键关联:外键关联,本来是用于多对一的配置,但如果加上唯一的限制后,也可用来表示一对一关联关系;是多对一的特例
一、单向
One(维护端:Person)[‘多端’]
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate....
分类:
Web程序 时间:
2014-11-26 18:58:28
阅读次数:
184
一对多和多对一映射原理一致:都是在多的一端加入一个外键指向一的一端
区别在于维护的关系不同:
1、多对一维护的关系是多指向一的关系,若维护了多指向一的关系,加载多的时候就会把一加载上来
2、一对多维护的关系是一指向多的关系,若维护了一指向多的关系,加载一的时候就会把多加载上来
在一端维护关系存在缺陷(可用一对多双向关联映射,解决一端维护关系存在的缺陷):
1、因为多的一端Stude...
分类:
Web程序 时间:
2014-11-26 18:57:53
阅读次数:
187
N-1关联映射原理:在多的一端加入一个外键,指向一的一端
Many(维护端:User)
...
分类:
Web程序 时间:
2014-11-26 18:55:10
阅读次数:
244
多对多映射是现实生活中最常见的映射,也是最容易理解的映射。废话少说,直接开始。
映射原理
不论是单向关联还是双向关联都是通过第三张表,将两个表中的主键放到第三张做一个关联。用第三张表来解决可能会造成数据冗余的问题。
举例
一个用户(User)对多个角色(Role),一个角色对多个用户。
分类
单向的多对多关联映射(单向User--->Rol...
分类:
Web程序 时间:
2014-11-22 09:17:59
阅读次数:
273
一对多关联映射和多对一关联映射的映射原理是一致的,都是在多的一端加入一个外键,指向一的一端。关联关系都是由多端维护,一端维护多端的关系,在加载一端时,可以将多端加载上来。...
分类:
Web程序 时间:
2014-11-16 08:15:38
阅读次数:
310
一、Hibernate之1-N关联映射
1. 哪边是 1 , 哪边是多 ?
需要从业务的角度来说明。例如,Employee 和 Department 之间就是 n-1 的关联关系,Order 和 Customer 之间也是 n-1 的关联关系。
1). 关联关系是有方向的:
2). 如何在类中来建立关联关系呢 ?
...
分类:
Web程序 时间:
2014-11-06 23:37:59
阅读次数:
280
、集合上,可以取值:true/false/extra,(默认值为:true)实例一:(集合上的lazy=true(默认))class默认lazy=true(默认)session = HibernateUtils.getSession(); tx = session.beginTransaction(...
分类:
其他好文 时间:
2014-11-06 19:51:51
阅读次数:
203