2

我正在使用 JSF(前端)和 EclipseLink JPA 创建一个 Web 应用程序,以将数据持久保存到 MySQL DB 中以处理数据(添加、更新、删除)。我处于两难境地,如果我应该将存储过程与 JPA 一起使用,或者单独使用 JPA 就足够了。

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

如果是,SP 将如何帮助我?

4

1 回答 1

2

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

仅 JPA 就足够了。

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

SP 将如何帮助我?

如今,SP 的使用备受争议。这可以被认为是一种不好的做法。我不会详细介绍,因为这里有很好的记录:无论如何,谁需要存储过程?

底线是:

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

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

于 2013-04-13T08:10:17.967 回答