WEB开发网
开发学院软件开发Java 持久化模式,第 1 部分: 现代 ORM 工具的策略和最... 阅读

持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践

 2010-04-02 00:00:00 来源:WEB开发网   
核心提示: 数据访问核心 顾名思义,DAO 模式封装了访问一个对象或相关对象集中的数据的逻辑,持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践(4),Hibernate 中的 DAO 包含 Criteria 查询和 Hibernate Query Language 查询,还有一个 Hibern

数据访问核心

顾名思义,DAO 模式封装了访问一个对象或相关对象集中的数据的逻辑。Hibernate 中的 DAO 包含 Criteria 查询和 Hibernate Query Language 查询,还有一个 Hibernate SessionFactory。所有面向数据库的逻辑都应该包含在 DAO 中,这意味着应该通过 DAO 存储和读取普通 Java 对象(POJO)和其他基本数据类型值。DAO 是企业 Java 分层体系结构中一种很典型的模式,通常通过一个服务访问 DAO。仔细研究 DAO 就会发现,它们的操作往往很相似。

为了了解 DAO 之间的共性,我们来看一些示例。清单 3 给出的两个方法根据 图 1 中定义的 Identifiable 接口中的 ID 查询 Address 和 Employee:

清单 3. 数据访问对象中的典型方法

public Address findById(Long id){ 
  return (Address) getSession().get(Address.class, id); 
} 
 
public Employee findById(Long id){ 
  return (Employee) getSession().get(Employee.class, id); 
} 

在 Employee 和 Address 上的这些操作之间,主要的差异仅仅是操作中使用的类。查询是相同的,只是把结果转换为不同的类。其他操作(比如删除模型中的给定实体或者从模型中获取某一实体的所有实例)在 DAO 中是相似的,在不同实体之间也是相似的。因此,可以利用 Java 1.5 的泛型功能创建一个可重用的 DAO,从而构成数据访问层的核心。

泛型 DAO

泛型 DAO 模式(也称为类型安全的 DAO)对于减少数据访问层中的代码重复非常重要。如果使用 Java 1.4,也可以因通用基 DAO 而受益;这种实现不是类型安全的,也不是很简洁,但是仍然能够减少代码重复。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:持久化 模式 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接