嗯,我正在努力跟隨甲骨文JSR和在我的項目只使用規範。我使用JBOSS EAP 7作爲服務器應用程序。只能使用JSR API在我的pom.xml
1) 我有冬眠的依賴在我的項目:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.core.version}</version>
</dependency>
這是遵循規範(JSR)的正確方法?或者我應該設置沒有任何休眠依賴的JPA依賴,讓jboss關心它嗎?
2) 又如:我使用的是CDI,並在項目中,我焊縫爲實現CDI的:
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core-jsf</artifactId>
<version>2.3.3.Final</version>
</dependency>
我應該代替它的CDI-API的依賴,並讓需要的JBoss關心實施?
什麼是跟隨JSR和實現走正確的方法是什麼?
據我要堅持,你應該使用JPA。這樣你只需要在你的項目中定義'jpa'依賴項,並且如果你正在'jboss as7'中部署應用程序,就不需要定義'hibernate'依賴項。這就是'jboss as7'如何檢測'jpa'''檢測到JPA的使用(例如persistence.xml或@ PersistenceContext/Unit註釋),並將Hibernate依賴注入到應用程序部署中。「您可以參考更多[here](https: //docs.jboss.org/author/display/AS7/JPA+Reference+Guide) –
我想讓一個pom部署到很多服務器應用程序(JBoss,glassfish ...) – RonaldoLanhellas
在這種情況下,您將不得不添加'jpa provider'實現,你必須在'jboss as7'情況下排除jpa檢測(部署時)。 –