浅谈Hibernate领域对象

开发 后端
这里介绍你可以把数据库信息读进Hibernate领域对象(domain objects)的一个对象图,这样你可以在连接断开的情况下把这些数据显示到UI层。

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate领域对象,包括介绍结合一个简单的例子等方面。

Hibernate领域对象

***,因为我们讨论的是一个不是很复杂的、基于web的应用程序,我们需要一组能在不同的层之间移动的对象。领域对象层由那些代表现实世界中的业务对象的对象们组成,比如:一份订单(Order)、订单项(OrderLineItem)、产品(Product)等等。这个层让开发者停止建立和维护不必要的数据传输对象(或者叫作DTOs),来匹配他们的领域对象。允许你把数据库信息读进Hibernate领域对象(domain objects)的一个对象图,这样你可以在连接断开的情况下把这些数据显示到UI层。那些对象也能被更新和送回到持久层并在数据库里更新。而且,你不必把对象转化成DTOs,因为DTOs在不同的应用层间移动,可能在转换中丢失。这个模型使得Java开发者自然地以一种面向对象的风格和对象打交道,没有附加的编码。

结合一个简单的例子

既然我们已经从一个高的层次上理解了这些组件, 现在就让我们开始实践吧。在这个例子中,我们还是将合并Struts、Spring、Hibernate框架。每一个这些框架在一篇文章中都有太多的细节覆盖到。这篇文章将用一个简单的例子代码展示怎样把它们结合在一起,而不是进入每个框架的许多细节。示例应用程序将示范一个请求怎样跨越每一层被服务的。这个示例应用程序的一个用户能保存一个订单到数据库中和查看一个在数据库中存在的订单。进一步的增强可以使用户更新或删除一个存在的订单。  

你可以下载这个应用的源码(http://www.onjava.com/onjava/2004/04/07/examples/wiring.zip)。

因为领域对象(domain objects)将和每一层交互,我们将首先创建它们。这些对象将使我们定义什么应该被持久化,什么业务逻辑应该被提供,和哪种表现接口应该被设计。然后,我们将配置持久层和用Hibernate领域对象(domain objects)定义“对象-关系”映射(object-to-relational mappings)。然后,我们将定义和配置我们的业务对象(business objects)。在有了这些组件后,我们就能讨论用Spring把这些层连在一起。***,我们将提供一个表现层(presentation layer),它知道怎样和业务服务层(business service layer)交流和知道怎样处理从其它层产生的异常(exceptions)。

【编辑推荐】

  1. Hibernate创建和持久化Product
  2. 浅谈Hibernate工作方式
  3. 浅谈Hibernate OrderItem
  4. 简述Hibernate历史背景
  5. Hibernate的Orders OrderItem类
责任编辑:佚名 来源: IT168
相关推荐

2009-09-23 17:07:31

Hibernate C

2009-09-21 13:05:18

Hibernate u

2009-09-28 15:47:59

Hibernate O

2009-09-22 10:09:21

Hibernate S

2009-09-25 10:53:40

Hibernate S

2009-09-28 13:43:28

使用Hibernate

2009-09-22 13:41:10

直接使用Hiberna

2009-09-28 13:39:01

Hibernate工作

2009-09-27 10:02:29

定制Hibernate

2009-09-29 16:16:58

Hibernate H

2012-02-08 14:24:35

HibernateJava

2009-09-21 17:17:11

Hibernate二级

2009-09-29 15:52:26

Hibernate X

2009-09-27 14:06:57

Hibernate o

2009-09-23 10:14:10

Hibernate使用

2009-09-25 13:14:58

Hibernate C

2009-09-23 14:40:17

Hibernate F

2009-06-10 09:58:32

Oracle sequHibernate

2009-02-11 09:37:32

Hibernate分页技术JSP

2009-09-25 09:21:27

Hibernate元数
点赞
收藏

51CTO技术栈公众号