从网上找的hibernate源码
package org.springframework.orm.hibernate3.support; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessResourceFailureException; import org.springframework.dao.support.DaoSupport; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.orm.hibernate3.SessionFactoryUtils; public abstract class HibernateDaoSupport extends DaoSupport { private HibernateTemplate hibernateTemplate; public final void setSessionFactory(SessionFactory sessionFactory) { this.hibernateTemplate = createHibernateTemplate(sessionFactory); } protected HibernateTemplate createHibernateTemplate(SessionFactory sessionFactory) { return new HibernateTemplate(sessionFactory); } public final SessionFactory getSessionFactory() { return (this.hibernateTemplate != null ? this.hibernateTemplate.getSessionFactory() : null); } public final void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } public final HibernateTemplate getHibernateTemplate() { return this.hibernateTemplate; } protected final void checkDaoConfig() { if (this.hibernateTemplate == null) { throw new IllegalArgumentException("'sessionFactory' or 'hibernateTemplate' is required"); } } protected final Session getSession() throws DataAccessResourceFailureException, IllegalStateException { return getSession(this.hibernateTemplate.isAllowCreate()); } protected final Session getSession(boolean allowCreate) throws DataAccessResourceFailureException, IllegalStateException { return (!allowCreate ? SessionFactoryUtils.getSession(getSessionFactory(), false) : SessionFactoryUtils.getSession( getSessionFactory(), this.hibernateTemplate.getEntityInterceptor(), this.hibernateTemplate.getJdbcExceptionTranslator())); } protected final DataAccessException convertHibernateAccessException(HibernateException ex) { return this.hibernateTemplate.convertHibernateAccessException(ex); } protected final void releaseSession(Session session) { SessionFactoryUtils.releaseSession(session, getSessionFactory()); } }
相关推荐
Spring hibernate3. HibernateDaoSupport 源码
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别在应用层管理和数据持久化方面发挥着关键作用。Spring是一个全面的Java企业级应用开发框架,而Hibernate则是一个优秀的对象关系映射(ORM)框架。当这...
Spring ORM框架与Hibernate4的集成是Java开发中的常见实践,这个源码库提供了直接导入Eclipse工程的便利,让我们有机会深入了解这两个强大工具的内部工作机制。本文将围绕Spring如何管理和驱动Hibernate4进行详细的...
通过这个完整的实例源码,你可以学习到如何在实际项目中配置和使用Spring与Hibernate的整合,理解它们如何协同工作,提升你的Java开发技能。同时,这个实例也能帮助你更好地掌握Spring的依赖注入和事务管理,以及...
在Java开发领域,尤其是Spring框架的应用中,`HibernateDaoSupport`和`@Autowired`是两个非常重要的概念。它们分别代表了Hibernate对DAO层的支持以及Spring框架的依赖注入机制。接下来,我们将深入探讨这两个知识点...
在JPA和Hibernate中,可以使用`Page`或`Slice`接口(Spring Data提供)来实现分页查询,这些接口允许你指定页码和每页大小,返回结果包含当前页的数据以及总页数等信息。 2. **PageIndex.java** - 这个类可能是用于...
下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...
在Spring中,可以利用`HibernateTemplate`或`HibernateDaoSupport`提供便捷的数据操作方法,或者使用`@Autowired`注解注入SessionFactory,配合`@Transactional`进行事务管理。 接着,我们创建Service层,作为业务...
在IT行业中,Spring、Hibernate和Maven是三个非常重要的开源框架和工具,它们在构建现代Java企业级应用中起着核心作用。让我们深入探讨一下这三个技术及其在项目中的结合使用。 **Spring框架** 是一个全面的Java...
源码中可以看到这些类如何包装和暴露基本的Hibernate操作。 4. **SessionFactory和Session** 在Hibernate中,SessionFactory是线程安全的,用于创建Session实例。Spring-ORM通过SessionFactoryBean来创建...
java基于SSH框架的学生成绩管理系统源码。要求: (1) 整合Struts2、Spring和Hibernate框架 (2) 实现“登录”功能 (3) 实现“学生信息管理”功能 (4) 实现“学生成绩管理”功能 (5) 实现分页功能 目的...
- **Hibernate框架**:作为一个开放源码的对象关系映射(ORM)解决方案,Hibernate提供了从Java类到数据库表的映射,以及从Java数据类型到SQL类型的映射。这种自动化处理大大减少了开发者在持久层方面的编码工作。 ...
集成Hibernate和Spring需要在Spring的配置文件中配置Hibernate的相关信息,包括SessionFactory、DataSource等。例如,通过`<bean>`标签定义数据源、SessionFactory,并使用`<tx:annotation-driven>`开启基于注解的...
如果这些组件在初始化时发生冲突,可能需要调整初始化顺序或使用Spring的Hibernate整合模块(HibernateTemplate或HibernateDaoSupport)来统一管理。 在工具方面,IDEA或Eclipse等集成开发环境提供了依赖树视图,...
本文将深入探讨"Spring 3.0 + Hibernate 3.5整合那些事儿",结合给出的标签"源码"和"工具",我们将讨论如何将这两个强大的框架结合在一起,以及在整合过程中可能遇到的问题和解决方案。 首先,Spring是一个全面的...
3. **HibernateDaoSupport**: Spring提供此基类,方便DAO层集成Hibernate,提供SessionFactory的自动注入。 **文件名解析**: - "Hiber"可能包含Hibernate的相关配置文件(如hibernate.cfg.xml)和实体类。 - ...
- 最佳实践中,推荐使用HibernateTemplate或者HibernateDaoSupport,它们是Spring提供的对Hibernate的简单包装,可以避免手动管理Session和事务。 7. **测试与优化** - 使用JUnit进行单元测试,验证整合是否成功...
在IT行业中,Spring框架与Hibernate的集成是常见的数据访问技术组合,它们可以帮助开发者构建高效、模块化的应用程序。本文将深入探讨如何在Spring 4中集成Hibernate 3,以XML配置方式进行,这是一种相对传统但仍然...
本主题将深入探讨Hibernate的编程式事务管理和Spring AOP的声明式事务管理,以及两者如何在实际项目中集成使用。 **Hibernate编程式事务管理** Hibernate作为流行的ORM(对象关系映射)框架,提供了对JDBC事务的...
Java SSH(Struts、Spring、Hibernate)项目源码是一套基于这三个开源框架的完整应用程序示例,用于帮助开发者理解和实践企业级Java应用开发。SSH框架是Java Web开发中常用的技术栈,它们各自承担不同的职责: 1. *...