6.2.1.6 mapping-file, jar-file, class, exclude-unlisted-classes
Следующие классы должны быть неявно или явно обозначены как управляемыеклассы постоянства, которые должны быть включены в единицу хранения: классы сущностей;встраиваемые классы;сопоставленные суперклассы.
Набор управляемых классов персистентности, управляемых блоком персистентности, определяется с помощью одного или нескольких из следующих элементов:
- Один или несколько файлов XML объектного / реляционного сопоставления
- Один или несколько jar-файлов, в которых будут выполняться поиск классов
- Явный список классов
- Аннотированные управляемые классы персистентности, содержащиеся в корне единицы сохраняемости (если только *Указан элемент 1020 *)
(...)
Список именованных управляемых классов персистентности также может быть указан вместо файлов JAR и сопоставления или в дополнение к нимфайлы.Любые аннотации метаданных сопоставления, найденные в этих классах, будут обработаны, или они будут сопоставлены с использованием значений аннотаций сопоставления по умолчанию.Элемент class используется для вывода списка управляемых классов персистентности. Список всех названных управляемых классов персистентности должен быть указан в средах Java SE для обеспечения переносимости.Портативные приложения Java SE не должны полагаться на другие механизмы, описанные здесь, для указания управляемых классов персистентности модуля персистентности.Поставщики постоянства могут также потребовать, чтобы набор классов сущностей и классов, которыми нужно управлять, должен быть полностью перечислен в каждом из persistence.xml
файлов в средах Java SE.
Все классы, содержащиеся в корнемодуля постоянства также выполняется поиск аннотированных управляемых классов сохраняемости, и любые найденные в них аннотации метаданных сопоставления будут обрабатываться или сопоставляться с использованием значений аннотаций сопоставления по умолчанию.Если не предполагается, что аннотированные классы постоянства, содержащиеся в корне модуля постоянства, должны быть включены в модуль сохранения, следует использовать элемент exclude-unlisted-classes
. Элемент exclude-unlisted-classes
не предназначен для использования в средах Java SE.
Результирующий набор объектов, управляемых модулем постоянства, представляет собой объединение этих источников с аннотациями метаданных отображения (или значения по умолчанию для аннотаций) для любого данного класса, переопределяемого информационным файлом сопоставления XML, если для этого класса имеются как аннотации, так и сопоставления XML.Минимальный переносимый уровень переопределения находится на уровне постоянного поля или свойства.
Если переносимость не имеет значения, некоторые поставщики поддерживают обнаружение объектов в среде Java SE (например, EclipseLink, Hibernate ).
Если переносимость вызывает беспокойство, использование стороннего контейнера, такого как Spring, поможет.