У меня есть приложение, на 100% совместимое с JPA2, которое необходимо переносить на многие серверы приложений. Совместимость с JPA (теоретически) означает, что мы можем переключать поставщиков JPA через конфигурацию (например, без изменения исходного кода) - (верно ???).
При работе в контейнере сервлетов (например, Tomcat, Jetty) приложение настраивается для работы с Hibernate. Мы предпочитаем Hibernate TopLink и Eclipselink из-за его зрелости и производительности. Пока это работает.
Однако при работе на сервере приложений Java EE должны ли мы по умолчанию использовать поставщика JPA или придерживаться Hibernate?
Я знаю, что в JBoss поставщиком является Hibernate, поэтому это, вероятно, не имеет значения. Однако я думаю, что поставщиком WebLogic является Eclipselink. Я понятия не имею, что использует поставщик WebSphere или Glassfish, но я видел подробные инструкции о том, как использовать Hibernate в качестве поставщика на этих серверах приложений.
Я предполагаю, что еще один способ задать вопрос: чего бы нам не хватало при использовании Hibernate на этих серверах приложений?