我正在使用JSF(前端)和EclipseLink JPA创建一个Web应用程序,以将数据保存到MySQL DB中以处理数据(添加,更新,删除)。我处于两难境地,如果我应该单独使用存储过程以及JPA或JPA就足够了。
我真的需要单独使用SP或JPA才足够吗?
如果是,SP如何帮助我?
答案 0 :(得分:2)
我真的需要单独使用SP或JPA才足够吗?
JPA就足够了。
如果您需要非常具体的数据库操作(例如数据库的专有功能),JPA将不是最佳的(因为它试图独立于数据库),但仍然会让您使用这些专有功能。
SP如何帮助我?
今天,SP的使用是值得商榷的。这可算是一种不好的做法。我不会详细介绍细节,因为这里有很好的文档记录:Who Needs Stored Procedures, Anyways?
底线是:
存储过程应被视为数据库汇编语言:仅用于性能最关键的情况。
换句话说:使用JPA创建应用程序并仅向类和对象添加业务逻辑。如果,上帝保佑,你的系统的某些部分有如此复杂的查询或数据库操作序列,JPA需要很长时间才能执行,那么就使用存储过程。