Java hibernate上的spring jdbc

Java hibernate上的spring jdbc,java,hibernate,spring,jdbc,Java,Hibernate,Spring,Jdbc,我正在我的应用程序中使用Struts和SpringJDBC模板。 我必须在代码中使用Hibernate模板。 有人能告诉我为什么要使用Hibernate模板吗? 使用Spring jdbc模板有什么问题吗?使用Spring模板(jdbc、Hibernate)可以在清理、资源管理和更好的异常处理方面节省大量精力。签出以下链接 使用Spring模板(JDBC、Hibernate)可以节省大量清理、资源管理和更好的异常处理工作。签出以下链接 有两个问题: JdbcTemplate vs Hibe

我正在我的应用程序中使用Struts和SpringJDBC模板。
我必须在代码中使用Hibernate模板。
有人能告诉我为什么要使用Hibernate模板吗?
使用Spring jdbc模板有什么问题吗?

使用Spring模板(jdbc、Hibernate)可以在清理、资源管理和更好的异常处理方面节省大量精力。签出以下链接

使用Spring模板(JDBC、Hibernate)可以节省大量清理、资源管理和更好的异常处理工作。签出以下链接

有两个问题:

  • JdbcTemplate vs Hibernate
JdbcTemplate对于调用不适合域模型或只需要少量数据访问周期的简单DAO非常有用。如果您有几个存储过程,它也很有用。如果您有很多存储过程,iBatis会更好(Spring还集成了哪个)

Hibernate需要XML或注释中指定的某种形式的映射。但是,一旦您仅使用几个方法就超越了几个DAO,Hibernate就有能力统一管理对象到关系的映射

  • HibernateTemplate vs staight SessionFactory hibernate。 通常建议使用SessionFactory.getCurrentSession()API访问Hibernate。然而,HibernateTemplate javadoc提到:
可以将此类视为使用原始Hibernate3会话API(通过SessionFactory.getCurrentSession())的直接替代方法。其主要优点是自动转换为DataAccessExceptions,并且在事务之外使用时能够退回到“自动提交”样式的行为

因此,除非您计划将JDBC与Hibernate混合使用,或者您碰巧更喜欢Spring的DataAccessException层次结构HibernateTemplate,否则HibernateTemplate将是一个很好的解决方案。但是,如果您没有使用HibernateTemplate的具体原因,那么直接使用Hibernate(即使使用Spring TransactionProxyFactoryBean时也是如此)是最好的选择。

有两个问题:

  • JdbcTemplate vs Hibernate
JdbcTemplate对于调用不适合域模型或只需要少量数据访问周期的简单DAO非常有用。如果您有几个存储过程,它也很有用。如果您有很多存储过程,iBatis会更好(Spring还集成了哪个)

Hibernate需要XML或注释中指定的某种形式的映射。但是,一旦您仅使用几个方法就超越了几个DAO,Hibernate就有能力统一管理对象到关系的映射

  • HibernateTemplate vs staight SessionFactory hibernate。 通常建议使用SessionFactory.getCurrentSession()API访问Hibernate。然而,HibernateTemplate javadoc提到:
可以将此类视为使用原始Hibernate3会话API(通过SessionFactory.getCurrentSession())的直接替代方法。其主要优点是自动转换为DataAccessExceptions,并且在事务之外使用时能够退回到“自动提交”样式的行为


因此,除非您计划将JDBC与Hibernate混合使用,或者您碰巧更喜欢Spring的DataAccessException层次结构HibernateTemplate,否则HibernateTemplate将是一个很好的解决方案。但是,如果您没有使用HibernateTemplate的具体原因,那么直接使用Hibernate(即使在使用Spring TransactionProxyFactoryBean时也是如此。)

jdbctemplate没有任何问题,只是不能与Hibernate一起使用。显然,您需要使用Hibernate。jdbctemplate没有任何问题,只是不能与Hibernate一起使用。显然,您需要使用Hibernate。