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

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

 2010-04-02 00:00:00 来源:WEB开发网   
核心提示: 有几种实现泛型 DAO 的方式,其中一些方式取决于您的环境,持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践(5),这个示例使用依赖项注入风格,因此实现不需要为如何配置自身操心,也可以根据查询的实体的需要,从它派生出子类,而是假设在使用它之前它所需要的所有东西都已经注入了,其他一些

有几种实现泛型 DAO 的方式,其中一些方式取决于您的环境。这个示例使用依赖项注入风格,因此实现不需要为如何配置自身操心,而是假设在使用它之前它所需要的所有东西都已经注入了。其他一些方式不使用依赖项注入。依赖项注入方式的关键是,在查询数据时,要注入 DAO 将查询的实体的 Class 并定义泛型类型。

创建泛型 DAO 的第一步是定义它的一些通用操作。图 2 给出一个泛型 DAO 的接口:

图 2. 基 DAO 接口和实现
持久化模式,第 1 部分: 现代 ORM 工具的策略和最佳实践

清单 4 给出这个泛型 DAO 的一些示例代码:

清单 4. 泛型 DAO 模式的示例代码

        public interface BaseDao<B extends BaseEntity> { 
  B getById(Long id); 
  // ...other methods 
} 
  
public class BaseDaoHibernate<B extends BaseEntity> 
    implements BaseDao<B extends BaseEntity> { 
     
  private Class<B> queryClass; 
   
  public B getById(Long id) { 
    return (B) getSession().get(getQueryClass(), id); 
  } 
  // ...other methods 
} 

清单 4 中的方法构成了数据访问层的核心。可以直接使用这个泛型 DAO,也可以根据查询的实体的需要,从它派生出子类。可以通过一个服务直接使用这个泛型 DAO,比如清单 5 中的服务:

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

Tags:持久化 模式 部分

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