在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>
分享到:
相关推荐
1. **事务管理**:`HibernateTemplate`提供了内置的事务管理机制,开发者无需手动开启和关闭事务,这大大减少了出错的可能性,并且使得代码更加简洁明了。 2. **Session管理**:传统的Hibernate使用方式通常需要显式...
HibernateTemplate是Spring为Hibernate提供的一个便捷工具类,它包装了SessionFactory和Session的基本操作,如查询、保存、更新和删除等。在项目中,我们首先需要添加Spring和Hibernate的相关jar包,包括spring-tx、...
2. **使用 HibernateTemplate**: Spring 为 Hibernate 提供了一个抽象层,即 HibernateTemplate 类,它封装了 Session 的常用操作,如保存、更新、删除和查询等,同时处理了事务管理和异常转换。在 Spring 容器中...
- Spring提供了`HibernateTemplate`和`HibernateDaoSupport`工具类,方便我们在Service层操作数据库。`HibernateTemplate`可以直接注入到Service类中,而`HibernateDaoSupport`需要我们继承,并在子类中注入`...
Spring通过HibernateTemplate或SessionFactoryBean来提供对Hibernate Session的抽象和管理。HibernateTemplate是一个便捷的类,它封装了常见的Hibernate操作,如保存、更新、删除和查询。而SessionFactoryBean则允许...
2. **配置HibernateTemplate或SessionFactoryBean**:Spring提供了HibernateTemplate或者直接使用SessionFactoryBean,作为访问数据库的工具,它可以自动处理事务和异常。 3. **配置事务管理器**:创建...
5. 创建事务管理器,如HibernateTransactionManager,并将其与SessionFactory绑定。 然后,Spring整合Hibernate的关键在于使用HibernateTemplate或HibernateDaoSupport。这两个类为Spring提供了便捷的Hibernate操作...
Spring的HibernateTemplate和HibernateDaoSupport类为开发者提供了便捷的Hibernate操作接口,同时避免了直接在业务代码中使用Session,从而降低了耦合度。 1.2 Hibernate配置 在Spring应用中,首先需要配置...
例如,定义DataSource、SessionFactory和HibernateTemplate等Bean,其中DataSource用于存储数据库连接信息,SessionFactory则是Hibernate的主要入口点,而HibernateTemplate则为Spring提供了一组操作Hibernate的便捷...
5. **使用HibernateTemplate或SessionFactoryBean**:Spring提供了HibernateTemplate和HibernateSessionFactoryBean,方便在Service层进行数据库操作。HibernateTemplate封装了一些常用的Hibernate操作,如save、...
在实际开发中,我们可能会创建一个User实体类,然后在Spring配置文件中声明对应的SessionFactoryBean和HibernateTransactionManager。在服务层,通过@Autowired注解注入SessionFactory,然后创建Session,进行CRUD...
1. **HibernateTemplate和HibernateDaoSupport**:Spring提供了一组Hibernate相关的工具类,如HibernateTemplate和HibernateDaoSupport,它们简化了Hibernate的使用。HibernateTemplate是一个模板类,它封装了许多...
private HibernateTemplate hibernateTemplate; public void saveUser(User user) { hibernateTemplate.save(user); } } ``` ### 三、Spring+Struts+Hibernate集成案例分析 #### 3.1 集成架构 在实际项目中,...
4. **HibernateTemplate**和**HibernateDaoSupport**: 这两个类是Spring为简化Hibernate操作提供的工具类。HibernateTemplate封装了常见的Hibernate操作,如查询、保存、更新和删除。HibernateDaoSupport则提供了一...
2. **配置事务管理器**:创建PlatformTransactionManager类型的bean,通常是HibernateTransactionManager,与SessionFactory关联。 3. **配置DAO和Service**:为DAO和Service创建bean,并注入SessionFactory或...
在与Hibernate整合时,常使用`HibernateTransactionManager`,它负责协调Hibernate和Spring之间的事务边界。 5. **DAO层的实现**:DAO(Data Access Object)层是数据访问的抽象层,负责与数据库交互。在Spring中,...
而PlatformTransactionManager接口是Spring事务管理的抽象,提供了开始、提交、回滚事务的方法,例如DataSourceTransactionManager(适用于JDBC)和HibernateTransactionManager(适用于Hibernate)。 以下是一个...
Spring还提供了`LocalSessionFactoryBean`和`HibernateTransactionManager`,用于配置和管理Hibernate的SessionFactory和事务。 在Spring和Hibernate的集成中,Spring通常负责管理SessionFactory和事务,而...
对于Hibernate,可以使用HibernateTransactionManager。在需要进行数据库操作的方法上添加@Transactional注解,Spring会自动处理事务的开始、提交或回滚。 5. **DAO(Data Access Object)层**:创建Hibernate-...