`

HibernateTransactionManager 和 hibernateTemplate的区别

阅读更多
在applicationContext.xml中有如下配置:

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory">
       <ref bean="sessionFactory"/>
    </property>
</bean>


也可以:
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
       <ref bean="sessionFactory"/>
    </property>
</bean>

两种实现方式其实没有区别,尤其是第二种不要自己去关闭session,session在事务结束后都会自动关闭。 但是一定要注意延迟加载的问题,当对象在session关闭前没有从数据库中取得,而jsp中需要展示对象时,会提示LazyInitializationException,你可以通过OpenSessionInViewFilter来保证延迟加载不会出现错误,即:
<filter>
     <filter-name>opensession</filter-name>
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
     <filter-name>opensession</filter-name>
     <url-pattern>*.do</url-pattern>
</filter-mapping>
分享到:
评论

相关推荐

    关于使用HibernateTemplate

    1. **事务管理**:`HibernateTemplate`提供了内置的事务管理机制,开发者无需手动开启和关闭事务,这大大减少了出错的可能性,并且使得代码更加简洁明了。 2. **Session管理**:传统的Hibernate使用方式通常需要显式...

    Spring整合hibernate(2)之基于HibernateTemplate的整合

    HibernateTemplate是Spring为Hibernate提供的一个便捷工具类,它包装了SessionFactory和Session的基本操作,如查询、保存、更新和删除等。在项目中,我们首先需要添加Spring和Hibernate的相关jar包,包括spring-tx、...

    spring整合Hibernate学习笔记.docx

    2. **使用 HibernateTemplate**: Spring 为 Hibernate 提供了一个抽象层,即 HibernateTemplate 类,它封装了 Session 的常用操作,如保存、更新、删除和查询等,同时处理了事务管理和异常转换。在 Spring 容器中...

    JavaEE spring和Hibernate整合(没有hibernate.cfg.xml)

    - Spring提供了`HibernateTemplate`和`HibernateDaoSupport`工具类,方便我们在Service层操作数据库。`HibernateTemplate`可以直接注入到Service类中,而`HibernateDaoSupport`需要我们继承,并在子类中注入`...

    Spring整合hibernate的实例

    Spring通过HibernateTemplate或SessionFactoryBean来提供对Hibernate Session的抽象和管理。HibernateTemplate是一个便捷的类,它封装了常见的Hibernate操作,如保存、更新、删除和查询。而SessionFactoryBean则允许...

    Spring和Hibernate的整合基础知识.rar

    2. **配置HibernateTemplate或SessionFactoryBean**:Spring提供了HibernateTemplate或者直接使用SessionFactoryBean,作为访问数据库的工具,它可以自动处理事务和异常。 3. **配置事务管理器**:创建...

    Spring整合Hibernate

    5. 创建事务管理器,如HibernateTransactionManager,并将其与SessionFactory绑定。 然后,Spring整合Hibernate的关键在于使用HibernateTemplate或HibernateDaoSupport。这两个类为Spring提供了便捷的Hibernate操作...

    spring与hibernate

    Spring的HibernateTemplate和HibernateDaoSupport类为开发者提供了便捷的Hibernate操作接口,同时避免了直接在业务代码中使用Session,从而降低了耦合度。 1.2 Hibernate配置 在Spring应用中,首先需要配置...

    Spring与Hibernate整合

    例如,定义DataSource、SessionFactory和HibernateTemplate等Bean,其中DataSource用于存储数据库连接信息,SessionFactory则是Hibernate的主要入口点,而HibernateTemplate则为Spring提供了一组操作Hibernate的便捷...

    Spring整合Hibernate.jar

    5. **使用HibernateTemplate或SessionFactoryBean**:Spring提供了HibernateTemplate和HibernateSessionFactoryBean,方便在Service层进行数据库操作。HibernateTemplate封装了一些常用的Hibernate操作,如save、...

    hibernate和spring学习文档

    在实际开发中,我们可能会创建一个User实体类,然后在Spring配置文件中声明对应的SessionFactoryBean和HibernateTransactionManager。在服务层,通过@Autowired注解注入SessionFactory,然后创建Session,进行CRUD...

    跟我学Spring3(8.2)对ORM的支持之集成Hibe

    1. **HibernateTemplate和HibernateDaoSupport**:Spring提供了一组Hibernate相关的工具类,如HibernateTemplate和HibernateDaoSupport,它们简化了Hibernate的使用。HibernateTemplate是一个模板类,它封装了许多...

    spring 理解文件HibernateDaoSupport

    private HibernateTemplate hibernateTemplate; public void saveUser(User user) { hibernateTemplate.save(user); } } ``` ### 三、Spring+Struts+Hibernate集成案例分析 #### 3.1 集成架构 在实际项目中,...

    spring-orm-hibernate4源码

    4. **HibernateTemplate**和**HibernateDaoSupport**: 这两个类是Spring为简化Hibernate操作提供的工具类。HibernateTemplate封装了常见的Hibernate操作,如查询、保存、更新和删除。HibernateDaoSupport则提供了一...

    spring_hibernate整合实例

    2. **配置事务管理器**:创建PlatformTransactionManager类型的bean,通常是HibernateTransactionManager,与SessionFactory关联。 3. **配置DAO和Service**:为DAO和Service创建bean,并注入SessionFactory或...

    Spring与Hibernate整合.zip

    在与Hibernate整合时,常使用`HibernateTransactionManager`,它负责协调Hibernate和Spring之间的事务边界。 5. **DAO层的实现**:DAO(Data Access Object)层是数据访问的抽象层,负责与数据库交互。在Spring中,...

    spring学习之八--Hibernate编程式事务

    而PlatformTransactionManager接口是Spring事务管理的抽象,提供了开始、提交、回滚事务的方法,例如DataSourceTransactionManager(适用于JDBC)和HibernateTransactionManager(适用于Hibernate)。 以下是一个...

    学习Spring 2.5和Hibernate 3的代码示例

    Spring还提供了`LocalSessionFactoryBean`和`HibernateTransactionManager`,用于配置和管理Hibernate的SessionFactory和事务。 在Spring和Hibernate的集成中,Spring通常负责管理SessionFactory和事务,而...

    spring_hibernate集成例子

    对于Hibernate,可以使用HibernateTransactionManager。在需要进行数据库操作的方法上添加@Transactional注解,Spring会自动处理事务的开始、提交或回滚。 5. **DAO(Data Access Object)层**:创建Hibernate-...

Global site tag (gtag.js) - Google Analytics