这两者其实是结合使用的,没有什么冲突。声明式事务,主要是做事务控制。目的是通过AOP的方式,配置事务规则,一般针对service层。也就是业务层。HibernateTemplate只是spring框架提供的一个操作数据库的方式,它自动注入了sessionfactory,你可以通过它直接拿到session,或者通过回调的方式去执行数据库操作。一般推荐后者。