3

我目前正在开发一个 Java Web 项目,我必须选择具有所有 ORM 内容的 JPA,并有机会直接设置查询或使用存储过程直接 MySQL 查询。我必须严格考虑这些观点的优缺点:

  1. 性能:快速给出结果
  2. 复杂性:哪个解决方案有更多的学习曲线?

存储过程是否比 JPA 查询更快?

4

1 回答 1

4

在性能方面,我没有任何具体数字。请详细说明您可能遇到的具体问题。

一般来说,使用 JPA 时,您在性能调整方面的控制远比实现自定义解决方案时要少得多。但是,JPA 提供了一个可靠的、经过验证的基础架构,其中包含您不必自己编写的大量功能!JPA 肯定会帮助您更快地启动您的应用程序。

在学习曲线方面。如果我假设你是从新开始......这两种方法都有很多东西需要学习。两者都需要 SQL 和实体关系模型的工作知识。JPA 方法要求您学习 JPA!去搞清楚!MySQL 方法需要 JDBC 知识。

您的问题“存储过程是否比 JPA 查询运行得更快”并不是真正要问的问题。JPA 2.1 支持存储过程。更好的问题是,JPA 中的查询是否比 JDBC 调用的 MySQL 查询运行得更快,或者 JPA 中的存储过程是否比 JDBC 调用的 MYSQL 存储过程运行得更快。总而言之,直接 JDBC 方法可能比 JPA 快一点,但这只是因为将 JPQL(JPA 的类似 SQL 的语言)转换为 SQL 的开销很小。

于 2013-09-13T01:34:15.050 回答