2016-09-09 3 views
0

Я новичок в JBoss и JPA, но ниже является persistence.xml я в моем существующем приложении Hibernate JPA, он работает на JBoss EAPПредоставлена ​​ли информация провайдера для persistence.xml?

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
     http://java.sun.com/xml/ns/persistence 
     http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="TeradataDB" transaction-type="JTA"> 
     <jta-data-source>java:/jdbc/trucare/trucareEDW</jta-data-source> 
    </persistence-unit> 
</persistence> 

Я ожидаю дополнительную строку в XML с информацией, предоставленной поставщиком, как это ...

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 

Но мое приложение работает с этой строкой, как это возможно? Где JPA получает информацию о провайдере, даже если она не упоминается нигде в файле persistence.xml. Однако мое приложение работает нормально, без проблем ..

баночки в моем проекте: -

m2\repository\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar 
m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13-sources.jar 
m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar 
m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar 
m2\repository\org\json\json\20090211\json-20090211.jar 
m2\repository\com\teradata\jdbc\terajdbc4\14.10.00.26\terajdbc4-14.10.00.26.jar 
m2\repository\javax\enterprise\cdi-api\1.0-SP4\cdi-api-1.0-SP4.jar 
m2\repository\org\jboss\spec\javax\interceptor\jboss-interceptors-api_1.1_spec\1.0.1.Final\jboss-interceptors-api_1.1_spec-1.0.1.Final.jar 
m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar 
m2\repository\org\jboss\spec\javax\annotation\jboss-annotations-api_1.1_spec\1.0.1.Final\jboss-annotations-api_1.1_spec-1.0.1.Final.jar 
m2\repository\org\jboss\spec\javax\ws\rs\jboss-jaxrs-api_1.1_spec\1.0.1.Final\jboss-jaxrs-api_1.1_spec-1.0.1.Final.jar 
m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.0.Final\hibernate-jpa-2.1-api-1.0.0.Final.jar 
m2\repository\org\jboss\spec\javax\ejb\jboss-ejb-api_3.1_spec\1.0.2.Final\jboss-ejb-api_3.1_spec-1.0.2.Final.jar 
m2\repository\org\hibernate\hibernate-validator\4.2.0.Final\hibernate-validator-4.2.0.Final.jar 
m2\repository\javax\validation\validation-api\1.0.0.GA\validation-api-1.0.0.GA.jar 
m2\repository\org\hibernate\hibernate-jpamodelgen\1.2.0.Final\hibernate-jpamodelgen-1.2.0.Final.jar 
m2\repository\org\hibernate\hibernate-validator-annotation-processor\4.2.0.Final\hibernate-validator-annotation-processor-4.2.0.Final.jar 
m2\repository\junit\junit\4.11\junit-4.11.jar 
m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar 
m2\repository\org\jboss\arquillian\junit\arquillian-junit-container\1.1.0.Final\arquillian-junit-container-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\junit\arquillian-junit-core\1.1.0.Final\arquillian-junit-core-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\test\arquillian-test-api\1.1.0.Final\arquillian-test-api-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\core\arquillian-core-api\1.1.0.Final\arquillian-core-api-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\test\arquillian-test-spi\1.1.0.Final\arquillian-test-spi-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\core\arquillian-core-spi\1.1.0.Final\arquillian-core-spi-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\container\arquillian-container-test-api\1.1.0.Final\arquillian-container-test-api-1.1.0.Final.jar 
m2\repository\org\jboss\shrinkwrap\shrinkwrap-api\1.1.2\shrinkwrap-api-1.1.2.jar 
m2\repository\org\jboss\arquillian\container\arquillian-container-test-spi\1.1.0.Final\arquillian-container-test-spi-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\core\arquillian-core-impl-base\1.1.0.Final\arquillian-core-impl-base-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\test\arquillian-test-impl-base\1.1.0.Final\arquillian-test-impl-base-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\container\arquillian-container-impl-base\1.1.0.Final\arquillian-container-impl-base-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\config\arquillian-config-api\1.1.0.Final\arquillian-config-api-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\config\arquillian-config-impl-base\1.1.0.Final\arquillian-config-impl-base-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\container\arquillian-container-test-impl-base\1.1.0.Final\arquillian-container-test-impl-base-1.1.0.Final.jar 
m2\repository\org\jboss\shrinkwrap\shrinkwrap-impl-base\1.1.2\shrinkwrap-impl-base-1.1.2.jar 
m2\repository\org\jboss\shrinkwrap\shrinkwrap-spi\1.1.2\shrinkwrap-spi-1.1.2.jar 
m2\repository\org\jboss\arquillian\protocol\arquillian-protocol-servlet\1.1.0.Final\arquillian-protocol-servlet-1.1.0.Final.jar 
m2\repository\org\jboss\arquillian\container\arquillian-container-spi\1.1.0.Final\arquillian-container-spi-1.1.0.Final.jar 
m2\repository\org\jboss\shrinkwrap\descriptors\shrinkwrap-descriptors-api-base\2.0.0-alpha-3\shrinkwrap-descriptors-api-base-2.0.0-alpha-3.jar 
m2\repository\org\jboss\shrinkwrap\descriptors\shrinkwrap-descriptors-spi\2.0.0-alpha-3\shrinkwrap-descriptors-spi-2.0.0-alpha-3.jar 

ответ

0

provider элемент указывает, реализация JPA следует использовать. Hibernate Entity Manager представлена ​​строкой org.hibernate.jpa.HibernatePersistenceProvider. Если не указано, используется первая реализация JPA, которая используется при загрузке.

Если у вас есть несколько провайдеров внедрения JPA (hibernate-entity-manager, eclipse-link, objectDb и т. Д.) В вашем пути к классам, он выберет первый найденный поставщик реализации JPA, если вы явно хотите использовать конкретный, тогда вам нужно для установки элемента provider в persistence.xml.

+0

Спасибо AsSiDe. Я проверил все баночки в моем проекте, но нет класса провайдера, который я нашел, включая «HibernatePersistenceProvider», все еще немного любопытно, какой провайдер фактически использует –

+0

. Он предоставляется JBoss EAP. Trace modules в JBOSS EAP, чтобы найти диспетчер сущностей спящего режима. Вы можете найти класс провайдера в этих банках. – AsSiDe

Смежные вопросы