`
ying_7839
  • 浏览: 14208 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

新发现了Hibernate3.2与Spring松耦合的集成

阅读更多

  原来一直在使用Hibernate时,使用Dao直接继承Spring的HibernateDaoSupport类。后来仔细阅读Spring的doc,发现实际上这样做时没有必要的:

Hibernate 3.0.1 introduced a feature called "contextual Sessions", where Hibernate itself manages one current
Session per transaction. This is roughly equivalent to Spring's synchronization of one Hibernate Session per
transaction. A corresponding DAO implementation looks like as follows, based on plain Hibernate API:

public class ProductDaoImpl implements ProductDao {
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public Collection loadProductsByCategory(String category) {
return this.sessionFactory.getCurrentSession().createQuery("from test.Product product where product.category=?")
.setParameter(0, category)
.list();
}
}

<beans>
...
<bean id="myProductDao" class="product.ProductDaoImpl">
<property name="sessionFactory" ref="mySessionFactory"/>
</bean>
</beans>

先前测试的时候发现执行save/update方法的时候,实际不会真正提交,即不会有insert/update语句执行。解决的方式就是在service层上加上事务处理方式,执行后就OK。

同时,Hibernate的命名查询也很有用的,有点类似于iBatis。如果想自定义sql的话,倒是一个很不错的选择。

 

分享到:
评论
2 楼 xiaofengtoo 2008-12-05  
其实无非就是你dao采用是hibernatetemp来写 还是用hibernate的session来写

我认为没什么区别,除非以后你要换框架
1 楼 richiewudi 2006-12-16  
请问一下,上面的方法说要求事务处理,在程序中事务处理的代码应该怎么写呀?

相关推荐

    Spring5.0.8+SpringMVC+Hibernate5.3.4框架

    - Spring框架的核心特性是依赖注入,它使得组件之间松耦合,方便测试和维护。 - AOP允许开发者定义“切面”,将关注点如日志、事务管理等与业务逻辑分离。 - Spring还提供了多种数据访问抽象,包括JDBC、JPA、...

    spring3.2 源码

    《深入剖析Spring 3.2.0源码》 ...通过阅读和分析SpringSource-spring-framework-v3.2.0.M1-1-g94f8393.zip中的源代码,我们可以发现Spring框架的精巧设计,以及在设计模式、组件管理、事务处理等方面的优秀实践。

    Spring5.pdf

    它关注于应用系统的服务治理,帮助开发人员构建分布式系统的各种服务和应用,且与Spring Boot无缝集成。 控制反转(IOC)是Spring的核心概念之一,通过反转对象的创建和维护过程,由Spring容器来管理对象的生命周期...

    spring-framework-5.3.23 源码

    Spring MVC的松耦合设计使得开发者可以自由选择视图技术,如JSP、Thymeleaf或FreeMarker。 此外,Spring还提供了对WebSocket、RESTful API、JSON序列化和反序列化的支持,以满足现代Web应用程序的需求。Spring Boot...

    spring入门教程书籍

    Spring框架是Java开发中的核心组件,它为构建可维护、模块化、松耦合的应用程序提供了全面的解决方案。本入门教程书籍旨在帮助新手快速掌握Spring的基本概念和实践应用。 《Spring 3.x企业应用开发实战》这本书可能...

    SPRING技术内幕:深入解析SPRING架构与设计原理_spring_

    Spring提供了对JDBC、ORM(Object-Relational Mapping)框架如Hibernate、MyBatis等的集成,简化了数据库操作,并支持声明式事务管理。 6. **MVC框架**: Spring MVC是Spring提供的Web应用开发框架,它采用Model-...

    Spring5jar包 完整版下载

    9. **Spring Cloud**:当与Spring5结合时,Spring Cloud提供了一套工具集,帮助开发者快速构建分布式系统,如服务发现、配置中心、熔断机制等。 10. **测试支持**:Spring提供了全面的测试支持,包括单元测试、集成...

    spring-spring-spring

    "spring-spring-spring"这个标题可能是指Spring框架的三个核心组件:Spring Core、Spring MVC和Spring Data,也可能是在强调Spring框架的重要性或深度学习。在描述中未提供具体信息,我们将基于标签"spring"来探讨...

    Spring框架技术,非常多,非常齐全ppt 课件

    4. **数据访问/集成**:Spring提供了对各种持久化技术的支持,如JDBC、Hibernate、MyBatis等,简化了数据库操作。同时,它还提供了事务管理功能,可以在不同环境下进行声明式或编程式的事务控制。 5. **Spring Boot...

    spring.src.zip

    Spring 是一个开源的 Java 应用框架,以其模块化、松耦合的设计理念,广泛应用于企业级应用开发中。本篇将深入探讨 "spring.src.zip" 中的 Java 源代码,揭示 Spring 框架的核心机制和设计理念。 1. **模块架构** ...

    Spring in action 第四版与第五版,出版社版本,第四版有中文版本

    3. **数据访问**:Spring提供了多种数据访问集成,包括JDBC、ORM框架(如Hibernate、MyBatis),以及对NoSQL数据库的支持。 4. **Web开发**:Spring MVC是Spring用于构建Web应用程序的模块,提供了模型-视图-控制器...

    Spring in Action, 5th Edition

    1. **依赖注入**:Spring的核心特性之一,通过容器管理对象及其依赖关系,使得代码更加松耦合,易于测试和维护。书中详细讲解了如何配置和使用依赖注入,包括XML配置、注解配置以及Java配置。 2. **Spring MVC**:...

    spring in practice

    1. **Spring框架概述**:Spring是一个开源的Java应用框架,它以依赖注入(Dependency Injection,DI)为核心,旨在简化Java应用程序的开发,通过提供事务管理、AOP(面向切面编程)、数据访问等组件,实现了松耦合和...

    学习Spring的图片截图

    4. **Spring Data**:这个模块简化了与数据库的交互,包括JPA、Hibernate等ORM工具的集成,提供了便捷的数据访问接口。 5. **Spring Boot**:是近年来流行的快速开发框架,它默认配置了许多常见应用的设置,简化了...

    [尚硅谷]_佟刚java Struts2_Hibernate_Spring面试题答案分析.zip

    Struts2、Hibernate和Spring是Java企业级开发中三大核心框架,它们构成了经典的SSH(Struts2、Spring、Hibernate)架构。这些框架分别解决了Web应用中的不同问题,为开发者提供了强大的功能支持。以下是对这三个框架...

    spring4X企业应用实战随书guangpan

    9. **测试支持**:Spring提供了丰富的测试工具和API,如Mockito、Spring TestNG支持,方便进行单元测试和集成测试。 10. **Java 8兼容**:Spring4X全面支持Java 8的新特性,如Lambda表达式、Stream API等,提升了...

    Spring技术内幕:深入解析Spring架构与设计原理(完整版)

    Spring框架还包括了对数据访问的强大支持,如Spring JDBC和ORM(对象关系映射)集成,如Hibernate、MyBatis等。Spring Data JPA和Spring Data MongoDB等项目则简化了与NoSQL数据库的交互。 在事务管理方面,Spring...

    spring完整jar包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合的设计理念,极大地提高了开发效率和代码质量。本资源包含的是Spring的完整jar包,包括了AOP、DAO、IOC以及WebMVC等核心模块,同时还有与数据库连接...

    Spring 4.X 企业应用 + Spring Boot 实战

    4. **数据访问集成**:Spring 4.x对JDBC、ORM框架(如Hibernate、MyBatis)以及NoSQL数据库(如MongoDB)的集成,简化了数据访问层的开发。 5. **Spring Security**:Spring的安全管理框架,用于身份验证、授权和...

Global site tag (gtag.js) - Google Analytics