Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供了两个方法:
public final HibernateTemplate getHibernateTemplate()
public final void setSessionFactory(SessionFactory sessionFactory)
其中,setSessionFactory方法接收来自Spring的applicationContext的依赖注入,接收了配置在Spring 中的SessionFactory实例,getHibernateTemplate方法用来利用刚才的SessionFactory生成Session, 再生成HibernateTemplate来完成数据库的访问。
典型的继承HibernateDaoSupport的DAO代码如下:
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO{
public void save(Users transientInstance) {
log.debug("saving Users instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
………………
}
实 际上,DAO的实现依然借助了HibernateTemplate的模板访问方式,只是,HibernateDaoSupport将依赖注入 SessionFactory的工作已经完成,获取HibernateTemplate的工作也已经完成。注意,这种方法须在Spring的配置文件中配 置SessionFactory。
在继承HibrnateDaoSupport的DAO实现里,Hibernate Session的管理完全不需要Hibernate代码打开,而由Spring来管理。Spring会根据实际的操作,采用“每次事务打开一次 session”的策略,自动提高数据库访问的性能。
分享到:
相关推荐
根据给定的信息,我们可以深入探讨Spring框架中与Hibernate集成的相关知识点,特别关注“HibernateDaoSupport”类及其在Spring环境中的应用。以下是对标题、描述以及部分文件内容的详细解析: ### 一、Spring与...
### HibernateDaoSupport 分页实现详解 #### 一、概述 在Java开发中,尤其是在Web应用领域,对数据库的高效查询及数据展示是非常重要的一个环节。其中分页查询是提高用户体验和减轻服务器压力的一种常见手段。...
### HibernateDaoSupport与JdbcDaoSupport详解 #### 一、概述 在软件开发过程中,特别是企业级应用开发中,数据库操作是一项重要的任务。为了简化这一过程并提高代码的可维护性和扩展性,Spring框架提供了多种支持...
### Spring + Hibernate 详解与配置 #### Spring框架概述 Spring框架是一个开源的、轻量级的应用框架,旨在简化企业级应用开发。它提供了一个全面的编程模型,支持从Web到数据访问等各种应用需求。Spring的核心...
### Spring与Hibernate集成详解 #### 一、Spring与Hibernate集成概述 在现代Java企业级应用开发中,Spring框架因其强大的依赖注入(DI)和面向切面编程(AOP)功能而备受青睐,它能帮助开发者简化Java应用的开发...
《精通Spring 2.x-企业应用开发详解》的第22章主要涵盖了Spring框架在企业级应用中的高级特性和实践技巧。Spring作为一个轻量级、全面的Java应用程序框架,为开发者提供了众多强大的功能,包括依赖注入(DI)、面向...
2. **Spring与Hibernate集成**:Spring提供了HibernateTemplate和HibernateDaoSupport等工具类,简化了对Hibernate的操作。这部分可能详细介绍了如何通过Spring管理SessionFactory,如何在Service层使用...
Spring通过提供一系列的DAO抽象类,如HibernateDaoSupport,HibernateTemplate以及HibernateCallBack,使得开发者可以更方便地实现DAO组件。这些抽象类作为DAO实现类的基类,降低了开发难度,确保了代码的一致性和可...
### HibernateDaoSupport与HibernateTemplate详解 #### 一、引言 在Java开发中,Spring框架与Hibernate框架的结合使用非常普遍。Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)功能,极大地简化了Java...
《精通Spring 2.x - 企业应用开发详解》是一本深度解析Spring框架2.x版本的专业书籍,涵盖了Spring在企业级应用中的核心技术和实践方法。在第18章和第19章中,作者深入探讨了Spring如何与相关技术如Hibernate、J2EE...
- 使用Spring的HibernateDaoSupport或HibernateTemplate,简化DAO层的数据库操作。 - 可以通过`@Transactional`注解在Service层方法上,实现基于方法的事务控制。 8. **测试与调试**: 编写JUnit测试用例,对...
2. **HibernateDaoSupport**:在DAO实现类中,我们通常会继承`HibernateDaoSupport`。这个类提供了对HibernateTemplate的便捷访问,HibernateTemplate是Spring提供的一个工具类,用于封装和执行HQL查询、保存、更新...
Spring核心模块详解 Spring框架是Java应用程序的核心框架,提供了七个核心模块,分别是Spring Core、Spring AOP、Spring Context、Spring DAO、Spring ORM、Spring Web和Spring MVC。这些模块提供了不同的功能,...
该类继承自`HibernateDaoSupport`,实现了`PaginateInterface`接口,主要负责具体的分页逻辑实现: - 使用Hibernate进行数据库操作。 - 提供具体的方法实现来完成分页功能。 ### 知识点六:Hibernate分页查询实现 ...
《Hibernate核心库与Spring整合详解》 在Java开发领域,Hibernate和Spring是两个不可或缺的框架。Hibernate作为一款强大的对象关系映射(ORM)工具,极大地简化了数据库操作,而Spring框架则提供了全面的依赖注入...
在Spring框架中,`getSession()`是`org.springframework.orm.hibernate3.support.HibernateDaoSupport`类提供的一个方法,它可以在当前事务中获取或开启一个新的Hibernate Session。然而,仅仅在每次查询后调用`...
### Spring管理Struts与Hibernate详解 #### 一、Spring整合Struts 在Web开发中,Struts是一个基于MVC设计模式的开源框架,它能够帮助开发者构建可维护性高、结构清晰的应用系统。Spring框架则提供了强大的依赖注入...
### Spring2 Hibernate3集成知识点详解 #### 一、Spring与Hibernate简介 - **Spring框架**:作为一款轻量级的Java开发框架,Spring的核心特性包括依赖注入(DI)和面向切面编程(AOP),这使得它在企业级应用开发...