Если <provider>
не указано в persistence.xml
, то контейнер будет использовать свой поставщик постоянства по умолчанию. Для TomEE его поставщиком постоянства по умолчанию является OpenJPA.
<properties>
должен соответствовать поставщику персистентности, который вы используете.
Итак, если вы используете OpenJPA, ваш persistence.xml
должен выглядеть следующим образом: (OpenJPA <properties>
можно найти по адресу здесь )
<persistence-unit name="test" transaction-type="JTA">
<jta-data-source>jdbc/testDB</jta-data-source>
<class>com.TestEntity</class>
<properties>
<property name="openjpa.jdbc.DBDictionary" value="mysql"/>
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
</properties>
</persistence-unit>
Если вы хотите использовать hibernate в качестве поставщика сохраняемости, ваш persistence.xml
должен выглядеть следующим образом:
<persistence-unit name="test" transaction-type="JTA">
<jta-data-source>jdbc/testDB</jta-data-source>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.TestEntity</class>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>