Файлы данного типа являются стандартными для 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>
