A.7. persistence.xml

Файлы данного типа являются стандартными для JPA и используются для регистрации персистентных сущностей и задания параметров функционирования фреймворка ORM.

Набор файлов persistence.xml, включая определенные в базовых проектах, задается в свойстве приложения cuba.persistenceConfig .

На старте блока Middleware из заданных файлов собирается один persistence.xml и сохраняется в рабочем каталоге приложения. Параметры ORM могут переопределяться каждым следующим файлом списка, поэтому порядок указания файлов важен. Существует несколько параметров, жестко определяемых типом используемой СУБД (заданным в cuba.dbmsType ), которые невозможно переопределить в persistence.xml, это:

  • openjpa.jdbc.DBDictionary

  • openjpa.jdbc.MappingDefaults

Кроме того, при выключенном свойстве приложения cuba.disableOrmXmlGeneration и наличии расширенных сущностей на старте приложения в рабочем каталоге создается файл orm.xml и путь к нему записывается в параметр openjpa.MetaDataFactory. В этом случае параметр openjpa.MetaDataFactory также нельзя задать в persistence.xml заранее.

Пример файла:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
  <persistence-unit name="sales" transaction-type="RESOURCE_LOCAL">
      <class>com.sample.sales.entity.Customer</class>
      <class>com.sample.sales.entity.Order</class>
  </persistence-unit>
</persistence>