我正在使用 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/