Hibernate 与spring jdbcTemplate共享事物的管理

阅读更多

公司的项目框架搭建可以说是几经周折。之前的项目一直用的SSH框架,老总觉得这种架构开发效率太低了,建议把hibernate去掉或者换成是其他的持久层框架。我把原有的项目中hibernate的部分给去掉,用springjdbcTemplate来操作数据库。后来发现,这样做有些时候也是很费劲的,尤其是对大表的操作。为提高开发效率,又引入了hibernate框架。这样一来,即可以通过springjdbcTemplate直接访问数据库也可以通过hibernate来访问数据库。但这里始终有一个问题,就是事物的共享问题。SpringjdbcTemplatehibernate是分开配置的,没有统一交由一个类来进行管理,如果程序中有两者协同处理,很容易出现事物不能全部回滚的问题。这种担心一直都让我惴惴不安。

 

    有没有一种机制可以让两者共用事物达到理想中的共存呢?查阅文档发现,HibernateTransactionManager真有这种机制,不禁欣喜若狂。

    不使用spring jdbcTemplate时,applicationContext.xml的配置如下:

	
		
		
	


	
		
	

 

 

 

 

 

 

    Hibernate spring jdbcTemplate共同操作的配置如下:

 

 

 

	
	   
	   
	   
	   
	   
   	      
   	   
	
	
	
        
    
    
	
		
		
	

	

	
		
				
	
	

  

你可能感兴趣的:(hibernate,spring,jdbcTemplate)