Spring JdbcTemplate比Spring Data Jpa快吗?

问题描述 投票:1回答:1

我们的客户强迫我们使用JdbcTemplate而不是Spring Data Jpa来开发Spring项目。但是,该应用程序在响应速度和传递方面并不关键(它是客户端最终用户的内部Web应用程序)。我们想使用Spring Data Jpa。

问题:使用JdbcTemplate是否有一些客观原因,因为应用程序的速度快?我认为会有不同的瓶颈。

spring performance spring-data-jpa jdbctemplate
1个回答
3
投票

问题,没有指定确切的用例就不可能回答更快的问题。

[JdbcTemplate最有可能在谈论纯查询执行时会更快,因为JPA实现会做更多的事情:

  • 解析JPQL(假设您正在使用它)
  • 由此创建SQL查询
  • 执行中
  • 将结果转换为对象

虽然模板(几乎)只是:

  • 执行查询
  • 将结果作为对ResultSetMapper或类似名称的调用。

JPA当然做了所有这一切都是有原因的。

  • 它提供了相当数量的数据库独立性。
  • 它会跟踪您的更改并生成正确的更新语句以将其保留。
  • 它允许延迟加载,因此您不必事先考虑要加载什么(当然,如果您关心性能,则仍然必须这样做。)>
  • 这些东西的成本超出了性能。

JPA提供的抽象实际上确实很复杂且存在漏洞,大多数使用它的开发人员都无法正确理解。尽管我认为在许多情况下使用JPA是完全合理的,但我也可以与禁止将其用于项目的人们联系起来。为了对此做出明智的决定,谈论性能绝对太有限了。

© www.soinside.com 2019 - 2024. All rights reserved.