我有一个完全符合JPA2标准的应用程序,需要在许多应用程序服务器上进行移植。理论上,JPA兼容意味着我们可以通过配置(例如,不更改源代码)切换JPA提供程序--(对吗?)。当在servlet容器(例如Tomcat、Jetty)中运行时,应用程序被配置为使用Hibernate运行。我们选择Hibernate而不是TopLink和Eclipselink,是因为它成熟且性能好。到目前为止,这个方法可行。
然而,在Java EE应用程序服务器中运行时,我们应该默认使用其中的JPA提供程序,还是坚持使用Hibernate?
我知道在JBoss中,提供程序是Hibernate,所以可能无关紧要。但是,我认为WebLogic中的提供程序是Eclipselink。我不知道WebSphere或Glassfish使用什么提供程序,但我已经看到了如何在这些应用程序服务器中使用Hibernate作为提供程序的详细说明。
我想问的另一种方式是,在这些应用程序服务器中使用Hibernate会失去什么?
然而,在Java EE应用程序服务器中运行时,我们应该默认使用其中的JPA提供程序,还是坚持使用Hibernate?
我知道在JBoss中,提供程序是Hibernate,所以可能无关紧要。但是,我认为WebLogic中的提供程序是Eclipselink。我不知道WebSphere或Glassfish使用什么提供程序,但我已经看到了如何在这些应用程序服务器中使用Hibernate作为提供程序的详细说明。
我想问的另一种方式是,在这些应用程序服务器中使用Hibernate会失去什么?