存储过程如何在JPA中有用?

时间:2013-04-13 07:48:55

标签: jpa stored-procedures

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

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

如果是,SP如何帮助我?

1 个答案:

答案 0 :(得分:2)

  

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

JPA就足够了。

如果您需要非常具体的数据库操作(例如数据库的专有功能),JPA将不是最佳的(因为它试图独立于数据库),但仍然会让您使用这些专有功能。

  

SP如何帮助我?

今天,SP的使用是值得商榷的。这可算是一种不好的做法。我不会详细介绍细节,因为这里有很好的文档记录:Who Needs Stored Procedures, Anyways?

底线是:

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

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