jpa - 存储过程在 JPA 中有何帮助?

标签 jpa stored-procedures

我正在使用 JSF(前端)和 EclipseLink JPA 创建一个 Web 应用程序,将数据保存到 MySQL DB 中以进行数据操作(添加、更新、删除)。我陷入了困境,是否应该将存储过程与 JPA 一起使用,或者单独使用 JPA 就足够了。

我真的需要单独使用 SP 或 JPA 就足够了吗?

如果是,SP 如何帮助我?

最佳答案

Do i really need to use SP or JPA alone would suffice?

仅 JPA 就足够了。

如果您需要非常具体的数据库操作(例如数据库的专有函数),JPA 并不是最佳选择(因为它试图独立于数据库),但仍然允许您使用此类专有函数。

how is SP goin to help me?

如今,SP 的使用备受争议。这可以被认为是一种不好的做法。我不会详细介绍,因为这里有很好的记录:Who Needs Stored Procedures, Anyways?

底线是:

存储过程应被视为数据库汇编语言:仅在性能最关键的情况下使用。

换句话说:让您的应用程序使用 JPA 并仅向类和对象添加业务逻辑。如果(上帝保佑)您系统的某些部分有如此复杂的查询或数据库操作序列,以至于 JPA 需要很长时间才能执行,那么请使用存储过程。

关于jpa - 存储过程在 JPA 中有何帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985548/

相关文章:

java - JPA2 :i use a JoinColumn as queryparam to create a query and a exception occurred , 为什么

sql - 一对多 多对一映射,服务器试图找到一个不存在的表

java - 从主记录访问基于列表的记录

mysql - 为什么使用 JSON_ARRAYAGG 进行 SELECT 时会忽略 LIMIT?

sql-server - SQL Server 中的四舍五入?

java - Genexus Ev2 存储过程

java - 是否可以将 null 参数传递给 Java JPA 2.1 中的存储过程?

java - 惰性一对一 Spring JPA 和构建 "dynamic"JSON

mysql - 如何在MySQL存储过程中抛出警告?

sql - 在全局表中插入上传的文件值