Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/orm.xml

< EclipseLink‎ | UserGuide‎ | JPA‎ | Basic JPA Development‎ | Configuration
Revision as of 14:18, 14 June 2011 by James.sutherland.oracle.com (Talk | contribs) (Example of a orm.xml file)

EclipseLink JPA

Eclipselink-logo.gif
EclipseLink
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Specifying Object-Relational Mappings Using orm.xml

Use the orm.xml file to apply the metadata to the persistence unit. This metadata is a union of all the mapping files and the annotations (if there is no xml-mapping-metadata-complete element). If you use one mapping orm.xml file for your metadata and place this file in a META-INF directory on the classpath, then you do not need to explicitly list it. The EclipseLink persistence provider will automatically search for this file (orm.xml) and use it.

The schema for the JPA 2.0 orm.xml is orm_2_0.xsd.

If you use a different name for your mapping files or place them in a different location, you must list them in the mapping-file element of the persistence.xml file, as shown here:

 <persistence-unit name="EmployeeService">
     <jta-data-source>jdbc/EmployeeServiceDS</jta-data-source>
     <mapping-file>META-INF/employee_service_queries.xml</mapping-file>
 </persistence-unit>

Elug note icon.png

Note: In this example, the orm.xml file is not listed -- the persistence provider finds it by default.

The following is an example of an orm.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.0"
        xmlns="http://java.sun.com/xml/ns/persistence/orm"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd">
    <description>The minimal mappings for a persistent entity in XML.</description>
    <entity name="Employee" class="org.acme.Employee" access="FIELD">
        <attributes>
            <id name="id"/>
        </attributes>
    </entity>
</entity-mappings>

Advantages and Disadvantages of Using XML

Some advantages of using XML instead of Annotations include:

  • No coupling between the metadata and the source code
  • Compliance with the existing, pre-EJB 3.0 development process
  • Support in IDEs and source control systems

The main disadvantages of mapping with XML include:

  • Its inherent complexitiy (when compared to annotations)
  • The need for replication of the code context


Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...

Copyright © Eclipse Foundation, Inc. All Rights Reserved.