前述
在学习Struts2、Hibernate、Sping、String MVC、Mybatis等几大框架的时候,并没有使用版本控制软件。我知道版本控制的重要性,所以我在其间学习了Git,我会在学完了Git之后写一篇我如何学习Git的文章。
关联关系
一对一关系映射即为关系双方都含有对方的一个引用,比如人和身份证,学生和学号都是一对一关系映射。(了解)
- 主表的主键,与从表的外键,形成主外键关系。
比如:课程编号(课程表中的主键) — 课程编号(学生表中的外键) - 主表的主键,与从表的主键,形成主外键关系。(从表的主键是主表的外键)
一对多
一对多关系映射中,一方含有多方的一个集合引用,而多方含有一方的单个引用。
以Customer和Order为例子演示一对多的实现:Customer类
1
2
3
4
5
6
7
8
9
10
11
12
13
14package com.hibernate3;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
public class Customer {
private Integer uid;
private String name;
private Set<Order> orderSet = new HashSet<Order>();
}
Customer.hbm.xml配置文件
1 | <?xml version="1.0" encoding="UTF-8"?> |
Order类
1 | package com.hibernate3; |
Hibernate的工具类
1 | package com.hibernate3; |
OneToManyDao
1 | package com.hibernate3; |
多对多
多个学生可以学习 不同课程1
2
3
4
5
6
7
8
9/** 学生实体类 */
public class Student {
private Long id; //对象标识符(OID)
private String name; //姓名
private String grade; //所在班级
private Set<Course> courses; //所有所选课程的集合
}
1 | <hibernate-mapping> |
1 | /** 课程实体类 */ |
1 | Course.hbm.xml: |