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.

Надеюсь, поможет

Другие вопросы по тегам