MySQL存储过程与JPA查询

时间:2013-09-10 00:48:08

标签: java mysql web-applications jpa stored-procedures

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

  1. 表现:快速提供结果
  2. 复杂性:哪种解决方案有更多的学习曲线?
  3. 存储过程是否比JPA查询更快?

1 个答案:

答案 0 :(得分: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的开销很小。