EJB Переопределяющий JPA javax.persistence
Я довольно плохо знаком с пространством Java EE, так что простите мое невежество здесь; Я унаследовал приложение, которое использует guice-persist и hibernate для обработки ORM.
Я пытаюсь использовать CriteriaQuery
, но я обнаружил, что мой jaxax.persistence.EntityManager
Похоже, что этот интерфейс (из EJB), а не тот, который я хочу (из JPA), поэтому я не могу использовать createQuery(CriteriaQuery)
,
Это проект Maven, и мне неясно, откуда взялся этот EJB-код - все, что я вижу по Guice-Persist и Hibernate, показывает интерфейс JPA, а не EJB, поэтому я понятия не имею, где этот EJB-пакет идет от.
Есть идеи здесь? Есть ли у меня случайная зависимость Maven, которая вводит EJB в мой проект, или мне кажется, что я неправильно понял уровень персистентности и мне действительно нужен EJB в моем приложении?
Я буду рад опубликовать дополнительную информацию, если вы дадите мне знать, что вам нужно.
РЕДАКТИРОВАТЬ:
При ближайшем рассмотрении я начинаю подозревать, что в моем "отдаленном" проекте есть неправильно сформированный файл pom.xml. Дерево зависимостей ниже.
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ texasU ---
[INFO] texasU:texasU:war:1.1.2-SNAPSHOT
[INFO] +- com.google.gwt:gwt-user:jar:2.5.0-rc1:provided
[INFO] | +- (javax.validation:validation-api:jar:1.0.0.GA:compile - scope updat
ed from provided; omitted for duplicate)
[INFO] | +- javax.validation:validation-api:jar:sources:1.0.0.GA:provided
[INFO] | \- org.json:json:jar:20090211:provided
[INFO] +- com.google.gwt:gwt-servlet:jar:2.5.0-rc1:runtime
[INFO] +- com.arcbees.core:arcbees-core:jar:1.0-SNAPSHOT:provided
[INFO] | +- (com.google.gwt:gwt-servlet:jar:2.4.0:provided - omitted for confli
ct with 2.5.0-rc1)
[INFO] | +- com.google.appengine:appengine-api-1.0-sdk:jar:1.6.1:provided
[INFO] | +- (com.gwtplatform:gwtp-dispatch-server-guice:jar:0.8-SNAPSHOT:provid
ed - omitted for duplicate)
[INFO] | +- (com.gwtplatform:gwtp-dispatch-shared:jar:0.8-SNAPSHOT:compile - sc
ope updated from provided; omitted for duplicate)
[INFO] | +- (com.google.inject:guice:jar:3.0:compile - scope updated from provi
ded; omitted for duplicate)
[INFO] | +- (com.google.inject.extensions:guice-servlet:jar:3.0:provided - omit
ted for duplicate)
[INFO] | +- (com.google.inject.extensions:guice-assistedinject:jar:3.0:provided
- omitted for duplicate)
[INFO] | +- javax.persistence:persistence-api:jar:1.0:provided
[INFO] | +- org.restlet.gae:org.restlet:jar:2.1-RC2:provided
[INFO] | \- org.restlet.gae:org.restlet.ext.servlet:jar:2.1-RC2:provided
[INFO] | \- (org.restlet.gae:org.restlet:jar:2.1-RC2:provided - omitted for
duplicate)
[INFO] +- com.gwtplatform:gwtp-mvp-client:jar:0.8-SNAPSHOT:provided
[INFO] | \- com.gwtplatform:gwtp-clients-common:jar:0.8-SNAPSHOT:provided
[INFO] | \- (com.google.inject:guice:jar:3.0:provided - omitted for duplicat
e)
[INFO] +- com.gwtplatform:gwtp-dispatch-client:jar:0.8-SNAPSHOT:provided
[INFO] | +- (com.gwtplatform:gwtp-clients-common:jar:0.8-SNAPSHOT:provided - om
itted for duplicate)
[INFO] | +- (com.gwtplatform:gwtp-dispatch-shared:jar:0.8-SNAPSHOT:provided - o
mitted for duplicate)
[INFO] | \- (com.google.inject:guice:jar:3.0:provided - omitted for duplicate)
[INFO] +- com.gwtplatform:gwtp-dispatch-server-guice:jar:0.8-SNAPSHOT:compile
[INFO] | +- com.gwtplatform:gwtp-dispatch-server:jar:0.8-SNAPSHOT:compile
[INFO] | | \- (com.gwtplatform:gwtp-dispatch-shared:jar:0.8-SNAPSHOT:compile -
omitted for duplicate)
[INFO] | +- (com.gwtplatform:gwtp-dispatch-shared:jar:0.8-SNAPSHOT:compile - om
itted for duplicate)
[INFO] | \- (com.google.inject:guice:jar:3.0:compile - omitted for duplicate)
[INFO] +- com.gwtplatform:gwtp-dispatch-shared:jar:0.8-SNAPSHOT:compile
[INFO] +- com.gwtplatform:gwtp-processors:jar:0.8-SNAPSHOT:provided
[INFO] +- com.google.inject:guice:jar:3.0:compile
[INFO] | +- javax.inject:javax.inject:jar:1:compile
[INFO] | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- com.google.inject.extensions:guice-servlet:jar:3.0:compile
[INFO] | \- (com.google.inject:guice:jar:3.0:compile - omitted for duplicate)
[INFO] +- com.google.inject.extensions:guice-assistedinject:jar:3.0:compile
[INFO] | \- (com.google.inject:guice:jar:3.0:compile - omitted for duplicate)
[INFO] +- com.google.gwt.inject:gin:jar:1.5.0:provided
[INFO] | +- (com.google.inject:guice:jar:3.0-rc2:provided - omitted for conflic
t with 3.0)
[INFO] | +- (com.google.inject.extensions:guice-assistedinject:jar:3.0-rc2:prov
ided - omitted for conflict with 3.0)
[INFO] | \- (com.google.gwt:gwt-servlet:jar:2.2.0:provided - omitted for confli
ct with 2.5.0-rc1)
[INFO] +- mysql:mysql-connector-java:jar:5.1.21:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.1.4.Final:compile
[INFO] | +- antlr:antlr:jar:2.7.7:compile
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar
:1.0.0.Final:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Fin
al:compile
[INFO] | +- org.javassist:javassist:jar:3.15.0-GA:compile
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:
compile
[INFO] | \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted
for conflict with 3.1.0.GA)
[INFO] +- org.hibernate:hibernate-entitymanager:jar:4.1.4.Final:compile
[INFO] | +- (org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile - omitted for
duplicate)
[INFO] | +- (org.hibernate:hibernate-core:jar:4.1.4.Final:compile - omitted for
duplicate)
[INFO] | +- (org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:ja
r:1.0.0.Final:compile - omitted for duplicate)
[INFO] | +- (dom4j:dom4j:jar:1.6.1:compile - omitted for duplicate)
[INFO] | +- (org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Fi
nal:compile - omitted for duplicate)
[INFO] | +- (org.javassist:javassist:jar:3.15.0-GA:compile - omitted for duplic
ate)
[INFO] | \- (org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final
:compile - omitted for duplicate)
[INFO] +- org.hibernate:hibernate-validator:jar:4.3.0.Final:compile
[INFO] | +- javax.validation:validation-api:jar:1.0.0.GA:compile
[INFO] | \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted fo
r conflict with 3.1.0.GA)
[INFO] +- com.google.inject.extensions:guice-persist:jar:3.0:compile
[INFO] | \- (com.google.inject:guice:jar:3.0:compile - omitted for duplicate)
[INFO] +- org.hibernate:hibernate-c3p0:jar:4.1.4.Final:compile
[INFO] | +- (org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile - omitted for
duplicate)
[INFO] | +- (org.hibernate:hibernate-core:jar:4.1.4.Final:compile - omitted for
duplicate)
[INFO] | \- c3p0:c3p0:jar:0.9.1:compile
[INFO] +- com.googlecode.gwtquery:gwtquery:jar:1.1.0:provided
[INFO] +- com.google.guava:guava:jar:13.0-rc2:compile
[INFO] +- com.google.guava:guava-gwt:jar:13.0-rc2:provided
[INFO] | \- (com.google.guava:guava:jar:13.0-rc2:provided - omitted for duplica
te)
[INFO] +- org.mindrot:jbcrypt:jar:0.3m:compile
[INFO] +- javax.mail:mail:jar:1.4.5:compile
[INFO] | \- javax.activation:activation:jar:1.1:compile
[INFO] +- edu.utsouthwestern.qbri.remoter:service-bundle:jar:1.0-SNAPSHOT:compil
e
[INFO] | +- org.nuiton.thirdparty:Rserve:jar:0.6-1:compile
[INFO] | +- org.nuiton.thirdparty:REngine:jar:0.6-1:compile
[INFO] | +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.5.1:compile
[INFO] | | +- xml-resolver:xml-resolver:jar:1.2:compile
[INFO] | | +- asm:asm:jar:3.3:compile
[INFO] | | +- org.apache.cxf:cxf-api:jar:2.5.1:compile
[INFO] | | | +- org.apache.cxf:cxf-common-utilities:jar:2.5.1:compile
[INFO] | | | | +- (org.apache.ws.xmlschema:xmlschema-core:jar:2.0.1:compile
- omitted for duplicate)
[INFO] | | | | \- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1:runtime
[INFO] | | | | \- org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime
[INFO] | | | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.1:compile
[INFO] | | | +- org.apache.neethi:neethi:jar:3.0.1:compile
[INFO] | | | \- wsdl4j:wsdl4j:jar:1.6.2:compile
[INFO] | | +- org.apache.cxf:cxf-rt-core:jar:2.5.1:compile
[INFO] | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | | +- com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
[INFO] | | | +- (org.apache.ws.xmlschema:xmlschema-core:jar:2.0.1:compile - o
mitted for duplicate)
[INFO] | | | \- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.
1:compile
[INFO] | | +- org.apache.cxf:cxf-rt-bindings-soap:jar:2.5.1:compile
[INFO] | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | | +- org.apache.cxf:cxf-tools-common:jar:2.5.1:compile
[INFO] | | | | +- (wsdl4j:wsdl4j:jar:1.6.2:compile - omitted for duplicate)
[INFO] | | | | +- (com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile - omitted f
or duplicate)
[INFO] | | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for du
plicate)
[INFO] | | | | +- (org.apache.cxf:cxf-common-utilities:jar:2.5.1:compile - o
mitted for duplicate)
[INFO] | | | | \- (org.apache.cxf:cxf-rt-core:jar:2.5.1:compile - omitted fo
r duplicate)
[INFO] | | | \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.5.1:compile
[INFO] | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for du
plicate)
[INFO] | | | +- (org.apache.cxf:cxf-rt-core:jar:2.5.1:compile - omitted fo
r duplicate)
[INFO] | | | \- (com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile - omitted f
or duplicate)
[INFO] | | +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.5.1:compile
[INFO] | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | | \- (org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.5.1:compile - o
mitted for duplicate)
[INFO] | | +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.5.1:compile
[INFO] | | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | | +- (org.apache.cxf:cxf-rt-core:jar:2.5.1:compile - omitted for d
uplicate)
[INFO] | | | \- (org.apache.cxf:cxf-rt-bindings-soap:jar:2.5.1:compile - omit
ted for duplicate)
[INFO] | | \- org.apache.cxf:cxf-rt-ws-addr:jar:2.5.1:compile
[INFO] | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | +- (org.apache.cxf:cxf-common-utilities:jar:2.5.1:compile - omit
ted for duplicate)
[INFO] | | \- (org.apache.cxf:cxf-rt-bindings-soap:jar:2.5.1:compile - omit
ted for duplicate)
[INFO] | \- org.apache.cxf:cxf-rt-transports-http:jar:2.5.1:compile
[INFO] | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for duplicat
e)
[INFO] | +- org.apache.cxf:cxf-rt-transports-common:jar:2.5.1:compile
[INFO] | | +- (org.apache.cxf:cxf-api:jar:2.5.1:compile - omitted for dupli
cate)
[INFO] | | \- (org.apache.cxf:cxf-rt-core:jar:2.5.1:compile - omitted for d
uplicate)
[INFO] | +- (org.apache.cxf:cxf-rt-core:jar:2.5.1:compile - omitted for dupl
icate)
[INFO] | \- org.springframework:spring-web:jar:3.0.6.RELEASE:compile
[INFO] | +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplic
ate)
[INFO] | +- org.springframework:spring-beans:jar:3.0.6.RELEASE:compile
[INFO] | | \- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile
- omitted for duplicate)
[INFO] | +- org.springframework:spring-context:jar:3.0.6.RELEASE:compile
[INFO] | | +- org.springframework:spring-aop:jar:3.0.6.RELEASE:compile
[INFO] | | | +- (aopalliance:aopalliance:jar:1.0:compile - omitted for
duplicate)
[INFO] | | | +- (org.springframework:spring-asm:jar:3.0.6.RELEASE:compi
le - omitted for duplicate)
[INFO] | | | +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:com
pile - omitted for duplicate)
[INFO] | | | \- (org.springframework:spring-core:jar:3.0.6.RELEASE:comp
ile - omitted for duplicate)
[INFO] | | +- (org.springframework:spring-beans:jar:3.0.6.RELEASE:compil
e - omitted for duplicate)
[INFO] | | +- (org.springframework:spring-core:jar:3.0.6.RELEASE:compile
- omitted for duplicate)
[INFO] | | +- org.springframework:spring-expression:jar:3.0.6.RELEASE:co
mpile
[INFO] | | | \- (org.springframework:spring-core:jar:3.0.6.RELEASE:comp
ile - omitted for duplicate)
[INFO] | | \- org.springframework:spring-asm:jar:3.0.6.RELEASE:compile
[INFO] | \- org.springframework:spring-core:jar:3.0.6.RELEASE:compile
[INFO] | +- (org.springframework:spring-asm:jar:3.0.6.RELEASE:compile
- omitted for duplicate)
[INFO] | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] +- org.apache.commons:commons-io:jar:1.3.2:compile
[INFO] +- com.googlecode.gwt.charts:gwt-charts:jar:0.9.5:compile
[INFO] +- junit:junit:jar:4.10:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] +- org.mockito:mockito-all:jar:1.9.5-rc1:test
[INFO] +- org.jukito:jukito:jar:1.1:test
[INFO] | +- org.mockito:mockito-core:jar:1.8.5:test
[INFO] | | +- (org.hamcrest:hamcrest-core:jar:1.1:test - omitted for duplicate
)
[INFO] | | \- org.objenesis:objenesis:jar:1.0:test
[INFO] | +- (junit:junit:jar:4.5:test - omitted for conflict with 4.10)
[INFO] | +- (com.google.inject:guice:jar:3.0:test - omitted for duplicate)
[INFO] | \- (com.google.inject.extensions:guice-assistedinject:jar:3.0:test - o
mitted for duplicate)
[INFO] +- org.seleniumhq.selenium:selenium-java:jar:2.22.0:test
[INFO] | +- org.seleniumhq.selenium:selenium-android-driver:jar:2.22.0:test
[INFO] | | \- org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
[INFO] | | +- cglib:cglib-nodep:jar:2.1_3:test
[INFO] | | +- (org.json:json:jar:20080701:test - omitted for conflict with
20090211)
[INFO] | | +- (org.seleniumhq.selenium:selenium-api:jar:2.22.0:test - omitt
ed for duplicate)
[INFO] | | +- (org.apache.httpcomponents:httpclient:jar:4.1.2:test - omitte
d for duplicate)
[INFO] | | +- (com.google.guava:guava:jar:12.0:test - omitted for conflict
with 13.0-rc2)
[INFO] | | +- (org.apache.commons:commons-exec:jar:1.1:test - omitted for d
uplicate)
[INFO] | | +- (net.java.dev.jna:jna:jar:3.4.0:test - omitted for duplicate)
[INFO] | | \- (net.java.dev.jna:platform:jar:3.4.0:test - omitted for dupli
cate)
[INFO] | +- org.seleniumhq.selenium:selenium-chrome-driver:jar:2.22.0:test
[INFO] | | \- (org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
- omitted for duplicate)
[INFO] | +- org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.22.0:test
[INFO] | | +- org.seleniumhq.selenium:selenium-api:jar:2.22.0:test
[INFO] | | | \- (com.google.guava:guava:jar:12.0:test - omitted for conflict
with 13.0-rc2)
[INFO] | | +- net.sourceforge.htmlunit:htmlunit:jar:2.9:test
[INFO] | | | +- xalan:xalan:jar:2.7.1:test
[INFO] | | | | \- xalan:serializer:jar:2.7.1:test
[INFO] | | | | \- (xml-apis:xml-apis:jar:1.3.04:test - omitted for duplic
ate)
[INFO] | | | +- commons-collections:commons-collections:jar:3.2.1:test
[INFO] | | | +- commons-lang:commons-lang:jar:2.6:test
[INFO] | | | +- org.apache.httpcomponents:httpmime:jar:4.1.2:test
[INFO] | | | | +- (org.apache.httpcomponents:httpcore:jar:4.1.2:test - omitt
ed for duplicate)
[INFO] | | | | \- (commons-logging:commons-logging:jar:1.1.1:test - omitted
for duplicate)
[INFO] | | | +- commons-codec:commons-codec:jar:1.4:test
[INFO] | | | +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.9:test
[INFO] | | | +- xerces:xercesImpl:jar:2.9.1:test
[INFO] | | | | \- xml-apis:xml-apis:jar:1.3.04:test
[INFO] | | | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.15:test
[INFO] | | | +- net.sourceforge.cssparser:cssparser:jar:0.9.5:test
[INFO] | | | | \- org.w3c.css:sac:jar:1.3:test
[INFO] | | | +- (commons-io:commons-io:jar:2.0.1:test - omitted for duplicate
)
[INFO] | | | \- (commons-logging:commons-logging:jar:1.1.1:compile - scope up
dated from test; omitted for duplicate)
[INFO] | | \- org.apache.httpcomponents:httpclient:jar:4.1.2:test
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.1.2:test
[INFO] | | \- (commons-logging:commons-logging:jar:1.1.1:compile - scope up
dated from test; omitted for duplicate)
[INFO] | +- org.seleniumhq.selenium:selenium-firefox-driver:jar:2.22.0:test
[INFO] | | +- (org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
- omitted for duplicate)
[INFO] | | +- commons-io:commons-io:jar:2.0.1:test
[INFO] | | \- org.apache.commons:commons-exec:jar:1.1:test
[INFO] | +- org.seleniumhq.selenium:selenium-ie-driver:jar:2.22.0:test
[INFO] | | +- net.java.dev.jna:jna:jar:3.4.0:test
[INFO] | | +- net.java.dev.jna:platform:jar:3.4.0:test
[INFO] | | \- (org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
- omitted for duplicate)
[INFO] | +- org.seleniumhq.selenium:selenium-iphone-driver:jar:2.22.0:test
[INFO] | | \- (org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
- omitted for duplicate)
[INFO] | +- org.seleniumhq.selenium:selenium-safari-driver:jar:2.22.0:test
[INFO] | | +- (org.seleniumhq.selenium:selenium-remote-driver:jar:2.22.0:test
- omitted for duplicate)
[INFO] | | \- (org.webbitserver:webbit:jar:0.4.6:test - omitted for duplicate)
[INFO] | +- org.seleniumhq.selenium:selenium-support:jar:2.22.0:test
[INFO] | | \- (org.seleniumhq.selenium:selenium-api:jar:2.22.0:test - omitted
for duplicate)
[INFO] | \- org.webbitserver:webbit:jar:0.4.6:test
[INFO] | \- org.jboss.netty:netty:jar:3.2.7.Final:test
[INFO] +- info.cukes:cucumber-java:jar:1.0.11:test
[INFO] | \- info.cukes:cucumber-core:jar:1.0.11:test
[INFO] | +- info.cukes:gherkin:jar:2.11.1:test
[INFO] | \- info.cukes:cucumber-html:jar:0.2.1:test
[INFO] +- info.cukes:cucumber-guice:jar:1.0.11:test
[INFO] | \- (info.cukes:cucumber-java:jar:1.0.11:test - omitted for duplicate)
[INFO] \- info.cukes:cucumber-junit:jar:1.0.11:test
[INFO] \- (info.cukes:cucumber-core:jar:1.0.11:test - omitted for duplicate)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.014s
[INFO] Finished at: Tue Sep 11 09:08:32 CDT 2012
[INFO] Final Memory: 13M/218M
[INFO] ------------------------------------------------------------------------
Предполагается, что RemoteR - это веб-служба CXF SOAP, работающая автономно. Все, что я хочу в этом проекте, - это клиентская часть, которая может отправлять запросы веб-службе, размещенной в другом месте. Поэтому, увидев весенние зависимости в моем текущем проекте, я могу заподозрить, что у меня здесь могут быть некоторые коллизии JPA.
2 ответа
Вы можете увидеть, какие зависимости, включая транзитивные, у вас есть через
mvn dependency:tree
Тем не менее, я предполагаю, что этот jar исходит от вашего сервера приложений Это JONAS случайно?
Вот пример зависимости от Hibernate, который реализует JPA
<properties>
<hibernate.version>4.1.4-Final</hibernate.version>
</properties>
......
......
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>${hibernate.version}</version>
</dependency>
Вы смешиваете много понятий здесь, позвольте мне уточнить...
Первый JPA против EJB - JPA обозначает архитектуру персистентности java - это спецификация, часть спецификации Java EE, которая описывает, как реализовать ORM и хранить ваши вещи в базе данных. Под капотом это может быть реализовано с помощью hibernate, toplink или любого другого фреймворка ORM.
Теперь EJB - расшифровывается как Enterprise Java Beans - это еще одна спецификация, которая обращается к бизнес-логике и определяет, как создавать код, вызываемый удаленно. Исторически (до EJB3) спецификация ejb упоминала как JPA, так и EJB, следовательно, смесь. Но теперь разделение очень ясно.
По поводу вашего вопроса.
javax.persistence.EntityManager является классом JPA, но весь API Criteria был добавлен только в JPA 2.0. Так что ваша первая ссылка не включает его только потому, что описывает спецификацию JPA 1.0
Что вы должны сделать? Ответ, как обычно, "это зависит":)
В идеальном мире я бы сказал вам что-то вроде: "перейти на JPA 2.0 и использовать Criteria API"
Технически вы должны обновить версии зависимостей в вашем pom.xml (вы сказали, что ваш проект mavenized), и у вас все будет хорошо.
Однако на практике это не так просто:
Java EE реализована в контейнере (он же сервер приложений), поэтому есть вероятность, что вы запускаете проект внутри JBoss/Glassfish/WebShere, назовите его. Обычно каждая версия сервера приложений реализует определенную версию в Java EE.
JPA 1.0 является частью Java EE 5.0, а JPA 2.0 (с вашими критериями api) является частью Java EE 6.0
Поэтому вы должны быть уверены, что сервер приложений может запускать Java EE 6, если вы действительно хотите использовать этот критерий API.
Еще одна проблема, о которой я должен упомянуть, это то, что под капотом также развивается среда ORM, поэтому, если вы обновляетесь, вы получите более новую версию, скажем, hibernate.
Это может привести к некоторым несоответствиям, особенно в сложных запросах.
Так что выбор за вами.
Отказ от ответственности: я не использовал guice-persist, поэтому мой ответ касается приложений, работающих в контейнере Java EE.
Надеюсь, поможет