嗯,我正在努力跟随甲骨文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检测(部署时)。 –