介绍Hibernate处理级联操作

开发 后端
这里介绍Hibernate处理级联操作,Java 持久性映射过程中最重要和最复杂的一环就是确定如何映射表间的关系。像其他产品一样,Hibernate 在该领域中提供了高度的灵活性,但却是以复杂度的增加为代价。

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate处理级联操作,包括介绍Hibernate映射关系等方面。

Hibernate处理级联操作

Java 持久性映射过程中最重要和最复杂的一环就是确定如何映射表间的关系。像其他产品一样, Hibernate 在该领域中提供了高度的灵活性,但却是以复杂度的增加为代价。我们将通过研究几个常见案例来了解如何使用注释来处理这一问题。

其中一种最常用的关系就是多对一的关系。假定在以上示例中每个 ModelPlane 通过多对一的关系(也就是说,每个飞机模型只与一种飞机类型建立联系,尽管指定的飞机类型可以与七种飞机模型建立联系)来与 PlaneType 建立联系。可如下进行映射:

  1. @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )  
  2. public PlaneType getPlaneType() {  
  3. return planeType;  

CascadeType 值表明Hibernate处理级联操作。

另一种常用的关系与上述关系相反:一对多再对一关系,也称为集合。在老式的 Hibernate 版本中进行映射或使用注释时,集合令人头疼,这里我们将简要加以探讨,以使您了解如何处理集合,例如,在以上示例中每个 PlaneType 对象都可能会包含一个 ModelPlanes 集合。可映射如下:

  1. @OneToMany(mappedBy="planeType",cascade=CascadeType.ALL,fetch=FetchType.EAGER)  
  2. @OrderBy("name")  
  3. public List<ModelPlane> getModelPlanes() {  
  4. return modelPlanes;  

【编辑推荐】

  1. 获取Hibernate关联关系的方法
  2. 详细讲述Hibernate绑定JNDI
  3. Hibernate Customer客户对象
  4. 讲述Hibernate Session缓存
  5. 简单分析Hibernate读取Clob
责任编辑:佚名 来源: 博客园
相关推荐

2009-06-17 10:47:36

Hibernate级联级联删除

2009-09-15 13:30:54

linq级联

2009-09-27 14:41:05

Hibernate I

2009-09-28 13:49:44

Hibernate Q

2009-09-22 09:27:29

Hibernate P

2009-09-25 13:55:05

Hibernate使用

2009-09-28 10:24:58

Hibernate基础

2009-09-25 09:46:03

Hibernate s

2009-06-17 11:18:02

Hibernate延迟

2009-09-23 17:41:05

Hibernate事务

2009-12-28 09:58:52

ADO操作

2009-09-24 09:25:10

Hibernate批量

2009-09-27 14:24:10

Hibernate配置

2009-09-22 10:57:42

Hibernate专业

2009-09-21 14:50:01

Hibernate部署

2009-06-12 16:00:13

Session方法Hibernate

2009-06-25 16:52:34

2009-09-24 10:13:05

Hibernate版本

2009-09-24 09:35:47

Hibernate插入

2009-06-18 13:58:06

Hibernate多表Hibernate
点赞
收藏

51CTO技术栈公众号