多对多可通过两个多对一实现(把第三张表抽取出一个实体,然后两个多对应一个新实体)
多对多会建立三张表,第三张表存放两个外键分别指向两个多;然后两个外键作为第三张表的联合主键
一、单向关联映射
Many(维护端:User)
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//...
分类:
Web程序 时间:
2014-11-26 21:04:11
阅读次数:
229
唯一外键关联:外键关联,本来是用于多对一的配置,但如果加上唯一的限制后,也可用来表示一对一关联关系;是多对一的特例
一、单向
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
新建Student 类, Class 类, 设置Id, name; get, set方法在Student 类下增添 private Class c;Student.hbm.xml中 添加 //多对一 1 2 5 6 7 8 9 1...
分类:
Web程序 时间:
2014-11-22 08:10:46
阅读次数:
233
第一步:编写两个pojo,比如一个学生表一个班级表 这里使用注解。需要班级表: 1 package com.qcf.pox; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 import javax.persistence.Ca.....
分类:
其他好文 时间:
2014-11-20 20:02:33
阅读次数:
163
采用多对一关联,如果一的那端删除了,多的这端无法感知,虽然数据库中可以通过外键配置将多的一端置空,可是在hibernate里面我暂时不知道如何处理。目前采用的方式:1、首先,数据库中需要配置好外键,保证数据库中的数据是正确的。2、在hibernate的many-to-one元素中增加一个属性:not...
分类:
Web程序 时间:
2014-11-19 15:41:15
阅读次数:
149
开始是打算用protein gi number,获得他们的go term。 本来想用uniprot来解决,不过想需要convert ID,这其中会导致有的ID对应不正常,一是缺失了;而是一对多,或者多对一。数据至少还要重新整理一次。后来想到了david,先手动提交数据,而且要是多个物种的,他还不让整...
分类:
Web程序 时间:
2014-11-19 10:45:31
阅读次数:
176
**********1,部门和员工:多对一Department.hbm.xml Employee.hbm.xml ...
分类:
Web程序 时间:
2014-11-16 18:36:11
阅读次数:
305
在设计数据库时我们会考虑,表与表之间的关系,例如我们前边经常提到的一对一,一对多,多对多关系,在数据库中我们通过外键,第三张表等来实现这些关系。而Hibernate时间实体类和数据库中的表进行的映射,这些关系如何映射呢?这里简单总结一下:
一,一对多,多对一关系映射,这里拿学生和班级进行简单演示:
1,学生的类和对应...
分类:
Web程序 时间:
2014-11-16 14:45:01
阅读次数:
343