是否有任何文档/文章确定何时应在 ejb 容器中使用 JPA 与何时在 Web 容器中使用 JPA 的最佳实践/规则?
在高层次上——我能想到的几件事是,如果我们在 WAR 中有 JPA,那么事务代码将需要由开发人员在 UserTransactions 中管理,并且它不能被其他模块甚至 EJB 在同一个应用程序中重用.
是否有任何文档/文章确定何时应在 ejb 容器中使用 JPA 与何时在 Web 容器中使用 JPA 的最佳实践/规则?
在高层次上——我能想到的几件事是,如果我们在 WAR 中有 JPA,那么事务代码将需要由开发人员在 UserTransactions 中管理,并且它不能被其他模块甚至 EJB 在同一个应用程序中重用.
我通常将 JPA 用于 Java SE 应用程序或容器中。SE 应用程序实际上只是在玩耍或进行数据库加载或设置。我已经在 Tomcat 中设置了 JPA,但我对最终结果并不满意,并且觉得有些问题无法真正解决。
编辑:也就是说,考虑 Spring/Hibernate 在您选择的 HTTP 服务器下的 servlet 容器中运行,并且似乎是一个非常流行和成熟的平台,但也非常特定于供应商。它几乎可以做任何我能想到的 Java EE 认证容器可以做的事情,甚至更多。
我认为您的考虑归结为您正在构建什么样的应用程序,而这反过来又提供了关于使用什么数据库的大量输入。