|
|
Line 1: |
Line 1: |
− | {{EclipseLink_UserGuide
| |
− | |info=y
| |
− | |toc=n
| |
− | |api=y
| |
− | |apis=
| |
− | *[http://java.sun.com/xml/ns/persistence/orm_2_0.xsd orm.xml]
| |
− | |eclipselink=y
| |
− | |eclipselinktype=JPA}}
| |
− | =Specifying Object-Relational Mappings Using orm.xml=
| |
− | Use the <tt>orm.xml</tt> 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 <tt>xml-mapping-metadata-complete</tt> element). If you use one mapping <tt>orm.xml</tt> file for your metadata and place this file in a <tt>META-INF</tt> directory on the classpath, then you do not need to explicitly list it. The EclipseLink persistence provider will automatically search for this file (<tt>orm.xml</tt>) and use it.
| |
| | | |
− | The schema for the JPA 2.0 orm.xml is [http://java.sun.com/xml/ns/persistence/orm_2_0.xsd <tt>orm_2_0.xsd</tt>].
| |
| | | |
− | If you use a different name for your mapping files or place them in a different location, you must list them in the <tt>mapping-file</tt> element of the [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Configuration/JPA/persistence.xml|<tt>persistence.xml</tt>]] file, as shown here:
| |
| | | |
− | <source lang="xml">
| + | '''[[Image:Elug_draft_icon.png|Warning]] See "About Object-Relational Mapping" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]''' |
− | <persistence-unit name="EmployeeService">
| + | |
− | <jta-data-source>jdbc/EmployeeServiceDS</jta-data-source>
| + | |
− | <mapping-file>META-INF/employee_service_queries.xml</mapping-file>
| + | |
− | </persistence-unit>
| + | |
− | </source>
| + | |
− | {{EclipseLink_Note
| + | |
− | |note=In this example, the <tt>orm.xml</tt> file is not listed -- the persistence provider finds it by default. | + | |
− | }}
| + | |
− | | + | |
− | The following is an example of an <tt>orm.xml</tt> file.
| + | |
− | | + | |
− | <source lang="xml">
| + | |
− | <?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>
| + | |
− | </source>
| + | |
− | | + | |
− | ==XML Schema Validation==
| + | |
− | By default the content of your orm XML file is not validated against the JPA orm XML schema.
| + | |
− | | + | |
− | During development it is a good idea to validate your orm XML file against the schema to ensure it is valid.
| + | |
− | In EclipseLink orm XML schema validation can be enabled using the persistence unit property <code>"eclipselink.orm.validate.schema"</code> in your <code>persistence.xml</code> file.
| + | |
− | | + | |
− | <source lang="xml">
| + | |
− | <property name="eclipselink.orm.validate.schema" value="true"/>
| + | |
− | </source>
| + | |
− | | + | |
− | ==Advantages and Disadvantages of Using XML==
| + | |
− | Some advantages of using XML instead of [[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/Annotations|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_JPA
| + | |
− | |previous=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/Annotations|Adding Metadata Using Annotations]]
| + | |
− | |next=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/Defaults|About the Default Configuration Values]]
| + | |
− | |up=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration|Configuration]]
| + | |
− | |version=2.2.0 DRAFT}}
| + | |