关于JdbcTmplate和Hibernate共享事务的问题

  今天再做一个项目的时候遇到了一个问题,再一个程序里边使用到了两种持久化的框架,分别是JdbcTemplate和Hibernate。为什么会使用两种持久化框架呢?是因为Hibernate是一种面向对象的SQL持久化框架,所以在进行SQL操作的时候回产生一些细粒度的问题,如我们在Java程序中调用数据库中的存储过程时就会产生问题,所以我们要使用比较原声的JdbcTemplate技术来为完善。但是在使用的过程中又遇到了一个问题,当两个持久化技术在同一个事务当中被用到的时候,应该怎样在Spring的IOC容器中使用对应的事务管理器呢?

  我们知道,Hibernate是比较高级的语言,它封装了JDBC的内容。它当中由回话工厂产生回话,通过回话来操作数据库。Spring也是对Java程序的封装,它封装的JDBC原声的事务管理器DatasourceTransactionManager当中咩有SqlSessionFactory的特性,即没有高级特性,所以他无法使用。所以我们要使用Hibernate的事务管理器而不可用JdbcTemplate的事务管理器来同意管理两种持久化技术。

  即:高级的可以管理低级的技术,低级的是无法管理高级的技术,因为高级的有很多新特性是低级技术不具备的。

  我们这里所说的高级和低级,指的是封装和被封装的关系。如:Hibernate是对JDBC的封装。

  通常来讲,Hibernate的事务管理器可以同时管理JdbcTemplate是需要满足一些条件的,二者的datasource必须一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值