public class TestOgi1DaoImpl extends HibernateDaoSupport implements TestOgi1Dao{
public boolean save(TestOgi1 transientInstance) {
log.debug("saving TestOgi1 instance");
Session session = null;
Transaction tx = null;
try {
// System.out.println(this.getHibernateTemplate().getSessionFactory().getCurrentSession());
// getHibernateTemplate().merge(transientInstance);
session = this.getSession(true);
tx = session.beginTransaction();
session.save(transientInstance);
tx.commit();
log.debug("save successful");
return true;
} catch (RuntimeException re) {
log.error("save failed", re);
tx.rollback();
throw re;
} finally {
if (session.isOpen()) {
session.close();
}
}
}
public List findByProperty(String propertyName, Object value) {
log.debug("finding TestOgi1 instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from TestOgi1 as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
}
<bean id="userInfoDao" class="com.yuorCompany.C3p0.dao.userinfo.impl.UserInfoDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
Spring与Hibernate集成中的session问题
转: http://www.iteye.com/topic/733971
分享到:
相关推荐
根据给定的信息,我们可以深入探讨Spring框架中与Hibernate集成的相关知识点,特别关注“HibernateDaoSupport”类及其在Spring环境中的应用。以下是对标题、描述以及部分文件内容的详细解析: ### 一、Spring与...
《Spring框架下HibernateDaoSupport的深度解析与应用》 在Java企业级开发中,Spring框架以其优秀的IoC(控制反转)和AOP(面向切面编程)特性,成为了事实上的标准。而Hibernate作为主流的对象关系映射(ORM)工具...
5. **优化**: 为了提高性能,可以使用`HibernateTemplate`或`HibernateDaoSupport`,它们提供了事务安全的CRUD操作。 总之,Spring的声明式事务管理简化了事务处理,降低了代码的复杂性,而Hibernate的编程式事务...
在实际开发中,结合使用`HibernateDaoSupport`和`@Autowired`,我们可以快速构建出健壮且易于维护的DAO层,同时充分利用Spring的IoC容器提供的各种优势。对于`自定义HibernateDaoSupport`这个文件,可能包含了开发者...
3. **事务管理**:支持自动提交事务或者回滚事务,根据`hibernateTemplate`的配置来进行事务控制。 4. **查询执行**:提供了一系列基于`HibernateTemplate`的方法来执行HQL和Native SQL查询。 #### 三、具体实现...
在DAO层,我们不使用JPA,而是使用`HibernateDaoSupport`。`HibernateDaoSupport`是Spring提供的一类辅助类,它提供了与Hibernate SessionFactory的连接,简化了Hibernate的使用。首先,我们需要创建一个基础的DAO...
2. **事务管理**: Spring Boot默认使用`@Transactional`注解进行声明式事务管理。在需要事务操作的方法上添加该注解,Spring会自动管理事务的开始、提交或回滚。 3. **日志**: 开启SQL日志,有助于调试和性能优化。...
在实际应用中,二次封装的`HibernateDaoSupport`组件还可以包含事务管理、缓存控制、性能优化等功能。通过这些扩展,我们不仅可以提高代码的复用性,还能降低维护成本,使得开发过程更加高效。 例如,对于`in`操作...
4. **Spring与Hibernate的集成**: Spring通过HibernateTemplate和HibernateDaoSupport简化了Hibernate的使用。`spring集成hibernate配置文件.txt`可能包含了整合步骤、事务配置以及如何处理SessionFactory和Session...
Spring3 提供了一种更为简洁的方式来配置声明式事务,这使得在处理事务管理时,开发者可以更专注于业务逻辑。声明式事务管理是基于面向切面编程(AOP)的一种实现,它允许开发者通过在方法上添加注解来控制事务的...
Spring hibernate3. HibernateDaoSupport 源码
3. AOP集成:Spring的面向切面编程(AOP)使得可以在全局范围内处理持久化逻辑,如日志、事务控制等。 4. 对象/关系映射工具:Spring ORM为不同的ORM框架提供统一的API,减少学习成本,同时提高了代码的可移植性。 ...
通过上述讲解,我们可以了解到Spring的核心特性和使用方式,包括其优点、依赖注入的实现、控制反转的理解、与Hibernate的集成以及事务管理的机制。这些知识点对于理解和使用Spring框架至关重要,同时也是面试中常见...
1. 编程式事务管理:使用TransactionDefinition、TransactionStatus和PlatformTransactionManager接口进行事务控制。例如,定义事务、开始事务、在try-catch块中执行业务逻辑并决定提交或回滚事务。 2. 声明式事务...
* 继承HibernateDaoSupport类,使用this.HibernateTemplate这个类持久化数据 * HibernateTemplate是对session的轻量级的封装 * 默认事务回滚异常是RuntiimeException(包括所有继承RuntimeException的子类).普通...
通过Spring的Bean配置,我们可以将数据库连接信息、SessionFactory和事务管理配置在Spring的XML配置文件中,这样在整个应用中可以方便地注入和使用这些资源。 Hibernate作为ORM框架,负责将Java对象与数据库表进行...
- 在Service层,Spring的bean可以通过`SessionFactory`注入,实现对DAO层的事务控制。 2. **Spring与Struts2整合**: - Struts2的Action类可以被Spring管理,通过Spring的`StrutsSpringObjectFactory`,Action类...
3. **事务管理**:Spring提供了一种声明式事务管理方式,通过`@Transactional`注解可以方便地控制事务边界。在配置文件中,需要开启事务管理器并指定对应的SessionFactory。 4. **DAO层集成**:Spring的DaoSupport...
本文将深入探讨Spring框架的一些核心概念,包括其优点、依赖注入(DI,Dependency Injection)的实现方式、控制反转(IoC,Inversion of Control)的理解、对ORM框架如Hibernate的支持,以及Spring的事务管理。...