我在我的应用程序中正在使用Struts和Spring jdbc模板
我必须在代码中使用Hibernate模板
谁能告诉我为什么要使用Hibernate模板呢?
使用Spring jdbc模板有什么问题?
答案 0 :(得分:3)
有两个问题:
JdbcTemplate对于调用不适合域模型或只是少量数据访问期的简单DAO非常有用。如果您有几个存储过程,它也很有用。如果你有很多存储过程,iBatis更好(Spring也集成了)
Hibernate需要在XML或注释中指定某种形式的映射。但是一旦你通过几种方法超越了几个DAO,Hibernate就有能力统一管理Object到关系映射。
可以将此类视为使用原始Hibernate3 Session API(通过SessionFactory.getCurrentSession())的直接替代方法。主要优点是它自动转换为DataAccessExceptions,以及在事务之外使用时能够回退到“自动提交”样式行为的能力。
因此,除非您计划将JDBC与Hibernate混合使用,否则您恰好更喜欢Spring的DataAccessException层次结构,HibernateTemplate将是一个很好的解决方案。但是如果你没有特定的理由使用HibernateTemplate,那么直接使用Hibernate(即使使用Spring TransactionProxyFactoryBean)也是可行的方法。
答案 1 :(得分:2)
使用Spring Template(JDBC,Hibernate)可以节省大量的清理,资源管理和更好的异常处理。查看以下这些链接