03hibernate关联映射

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Softeem Consultancy Service
Hibernate关联映射 关联映射
主讲: 主讲:周玮

Softeem Consultancy Service
课堂目标
• 一对一关联 • 多对一 一对多关联 多对一,一对多关联 • 多对多关联
2009-12-17
2

Softeem Consultancy Service
数据关联
• 在实际开发过程中, 在实际开发过程中, 我们经常会处理关联的对象,常见的对象关联类型有: 我们经常会处理关联的对象,常见的对象关联类型有: 一对一关联 多对一关联 一对多关联
单向一对多关联 双向一对多关联
多对多关联
2009-12-17
3

Softeem Consultancy Service
一对一关联
• 一对一关联 Hibernate中的一对一关联由 中的一对一关联由“one-to-one”节点定义。 节点定义。 中的一对一关联由 节点定义 这里有一个一对一关系。 这里有一个一对一关系。 在用户管理系统中,每个用户对应一个部门, 在用户管理系统中,每个用户对应一个部门,这在我们 的系统中反映为loginuser 到 dept 的one-to-one 关系。 关系。 的系统中反映为 其中loginuser是主控方, dept是被动方。(通过主键关 是主控方, 是被动方。 其中 是主控方 是被动方 通过主键关 联) 一个用户只属于一个部门,一个部门只有一个用户 一个用户只属于一个部门 一个部门只有一个用户. 一个部门只有一个用户
2009-12-17
4

Softeem Consultancy Service
一对一关联
• 一对一关联 one-to-one关系定义比较简单,只需在主控方加以定义。 关系定义比较简单, 关系定义比较简单 只需在主控方加以定义。 • …… ……
2009-12-17
5

Softeem Consultancy Service
部门表
• Dept • dept_id number 部门号 主键 • dept_name varchar(50) 部门名 not null • Loginuser 加上外键 dept_id • 生成 Dept.java dept.hbm.xml • s_loginuser •
• • • • • •
2009-12-17
.... -->
6

Softeem Consultancy Service
Loginuser.java
• 加上 加上: • private Dept dept; • • • • • • public Dept getDept() { return dept; } public void setDept(Dept dept) { this.dept = dept; }
2009-12-17
7

Softeem Consultancy Service
多对一关联
• 多对一关联 实际是一个用户属于一个部门,一个部门有多个用户 是多对一的关系. 一个部门有多个用户,是多对一的关系 实际是一个用户属于一个部门 一个部门有多个用户 是多对一的关系 many-to-one 通过外键关联的一对一只是多对一的一个特例 • …… • ……
2009-12-17 8

Softeem Consultancy Service
JUnit--LoginuserAction.java
• @Test • public void testAddUser() { • LoginuserAction userAct = new LoginuserAction(); • • • • • • • Loginuser user = new Loginuser(); user.setUserName("admin123"); user.setUserPass("123"); Dept dept = new Dept(); dept.setDeptId(1L); user.setDept(dept); userAct.setUser(user);
• String result = userAct.addUser(); • Assert.assertEquals(result, "manage"); • }
2009-12-17 9

相关文档
最新文档