spring - Hibernate、iBatis、Spring JDBC Template,该用哪个?

标签 spring hibernate orm ibatis

<分区>

我正在用 Java 开发 Web 应用程序。我正在考虑使用 Spring MVC。但在 ORM 方面,我需要做出决定。我研究过 Hibernate、iBatis、Spring JDBC Template 等 ORM。

我发现 iBatis 和 Spring JDBC 模板(使用 RowMapper)几乎相同,您将每个查询映射到一个对象。所以你必须为每个查询编写一个类。

在 Hibernate 中,您将每个表映射到一个类。它减少了编写 SQL 的需要。

我想当你不擅长 SQL 时,Hibernate 更可取。就我而言,我对 SQL 相当熟悉,所以想使用 iBatis 或 Spring JDBC 模板,它们可以让我很好地控制 SQL,而且它们没有那么复杂 hibernate 。

但是 Hibernate 提供了其他 ORM 不提供的缓存。

所以我的问题:

  1. iBatis 和 Spring JDBC Template 使用哪个?
  2. Hibernate 缓存(或我不知道的任何其他 Hibernate 功能)好到我应该使用 Hibernate 而不是其他 ORM 吗?

最佳答案

I guess Hibernate is preferable when you are not good in SQL

我不同意你应该使用 Hibernate 或任何其他 ORM 的想法,因为你不太擅长 SQL。

虽然 Hibernate 确实会为您生成 SQL,但不理解它在做什么会导致性能灾难。

关于spring - Hibernate、iBatis、Spring JDBC Template,该用哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10862682/

相关文章:

python - Django ORM 查询空 FileFields

database - 如何封装数据库访问?

java - 我们有专门针对 Spring 5.x 的 XSD 吗?

spring - 在方法上具有 @Retryable 注释的模拟 Spring @Service 失败并出现 UnfinishedVerificationException

java - 在eclipse中运行tomcat上的maven项目时找不到请求资源404错误

java - 如何为我正在上传的文件指定一个随机文件名?

java - hibernate @Formula/错误 : schema "FOO" does not exist

java - Spring/Hibernate 多个数据源之间具有外键

java - 在 Hibernate 中保存实例时出现 SQL 错误

database - 维基百科说 ORM 只是进行类型转换而不一定传输数据,这是错误的吗?