JPA Entities defiieren wir i. d. R. mit Hilfe von Annotationen, d. h. das Mapping von Klassen und Attributen zu Tabellen und Spalten befindet sich im Java-Quelltext in Form von @Entity, @Table, @Id, @Column etc. Für Altanwendungen (vor der Einführung von Annotationen) und andere Situationen, in denen Annotatione nicht genutzt werden können kann man das Mapping alternativ auch im Descriptor orm.xml hinterlegen.
orm.xml hat aber nicht nur diese Legacy-Aufgabe; es können auch Default-Werte für alle Entities hinterlegt werden, z. B. das Schema, in dem die Tabellen per Default liegen:
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence/orm http://xmlns.jcp.org/xml/ns/persistence/orm_2_1.xsd">
<persistence-unit-metadata>
<persistence-unit-defaults>
<schema>S1060</schema>
</persistence-unit-defaults>
</persistence-unit-metadata>
</entity-mappings>
Analog können angegeben werden:
<catalog>...</catalog>: Katalog der Tabellen,<delimited-identifiers/>: Tabellennamen in Quotes setzen,<access>FIELD</access>: Field Access verwenden (analogPROPERTY),<cascade-persist/>:CascadeType.PERSISTimplizit für alle Relationen annehmen.
Zudem ist es möglich, beliebig viele Entity Listener anzugeben:
<entity-listeners>
<entity-listener class="..."></entity-listener>
<entity-listener class="..."></entity-listener>
</entity-listeners>
Neben der standardmäßig genutzten Datei orm.xml können mit den Elementen <mapping-file>...</mapping-file> in der persistence.xml beliebige weitere Mapping Files referenziert werden (als Classpath Ressources).






