gpt4 book ai didi

java - spring jdbc 优于 hibernate

转载 作者:行者123 更新时间:2023-12-01 17:35:13 30 4
gpt4 key购买 nike

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

最佳答案

有两个问题:

  • JdbcTemplate 与 Hibernate

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

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

  • HibernateTemplate 与直接 SessionFactory hibernate 。通常建议使用 SessionFactory.getCurrentSession() API 来访问 Hibernate。然而 HibernateTemplate javadoc 提到:

This class can be considered as direct alternative to working with the raw Hibernate3 Session API (through SessionFactory.getCurrentSession()). The major advantage is its automatic conversion to DataAccessExceptions as well as its capability to fall back to 'auto-commit' style behavior when used outside of transactions.

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

关于java - spring jdbc 优于 hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160882/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com