Jump to: navigation, search

Difference between revisions of "EclipseLink/Examples/JPA/EclipseLink-ORM.XML"

(Complete Example)
Line 1: Line 1:
 
[[Category:EclipseLink/Example/JPA|EclipseLink-ORM.XML]]
 
[[Category:EclipseLink/Example/JPA|EclipseLink-ORM.XML]]
  
In EclipseLink 1.0 the new eclipselink-orm.xml mapping file is introduced ([http://bugs.eclipse.org/200040 See bug 200040]). This mapping file can be used in place of JPA's standard mapping file or can be used to override a JPA mapping file. In additional to allowing all of the standard JPA mapping capabilities it also includes advanced mapping types and options.
+
EclipseLink supports and extended JPA orm.xml format. This mapping file can be used in place of JPA's standard mapping file or can be used to override a JPA mapping file. In additional to allowing all of the standard JPA mapping capabilities it also includes advanced mapping types and options.
  
 
'''Note: Usage of this mapping file will enable many advanced features but may prevent the persistence unit from being portable to other JPA implementations'''
 
'''Note: Usage of this mapping file will enable many advanced features but may prevent the persistence unit from being portable to other JPA implementations'''
Line 7: Line 7:
 
== XML Configuration ==
 
== XML Configuration ==
  
The [http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_2.xsd EclipseLink ORM schema (eclipselink_orm_1_2.xsd)] can be used with the following header to define JPA and EclipseLink's advanced mappings.
+
The [http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_0.xsd EclipseLink ORM schema (eclipselink_orm_2_0.xsd)] can be used with the following header to define JPA and EclipseLink's advanced mappings.
  
 
<source lang="xml">
 
<source lang="xml">
Line 14: Line 14:
 
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
 
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_2.xsd"
+
xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_0.xsd"
version="1.2">
+
version="2.0">
 
</entity-mappings>
 
</entity-mappings>
 
</source>
 
</source>
  
EclipseLink automatically resolves the xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" to its internally packages schema. The following header will not cause the parser to attempt to access the XSD from the web. Using this however will require you to add the eclipselink_orm_1_2.xsd to your IDE's catalog in order to have XML completion available.
+
EclipseLink automatically resolves the xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" to its internally packages schema. The following header will not cause the parser to attempt to access the XSD from the web. Using this however will require you to add the eclipselink_orm_2_0.xsd to your IDE's catalog in order to have XML completion available.
  
 
<source lang="xml">
 
<source lang="xml">
Line 26: Line 26:
 
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
 
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.2">
+
version="2.0">
 
</entity-mappings>
 
</entity-mappings>
 
</source>
 
</source>

Revision as of 09:49, 15 June 2010


EclipseLink supports and extended JPA orm.xml format. This mapping file can be used in place of JPA's standard mapping file or can be used to override a JPA mapping file. In additional to allowing all of the standard JPA mapping capabilities it also includes advanced mapping types and options.

Note: Usage of this mapping file will enable many advanced features but may prevent the persistence unit from being portable to other JPA implementations

XML Configuration

The EclipseLink ORM schema (eclipselink_orm_2_0.xsd) can be used with the following header to define JPA and EclipseLink's advanced mappings.

<?xml version="1.0"?>
<entity-mappings
	xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_0.xsd"
	version="2.0">
</entity-mappings>

EclipseLink automatically resolves the xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" to its internally packages schema. The following header will not cause the parser to attempt to access the XSD from the web. Using this however will require you to add the eclipselink_orm_2_0.xsd to your IDE's catalog in order to have XML completion available.

<?xml version="1.0"?>
<entity-mappings
	xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="2.0">
</entity-mappings>

Configuring usage in persistence.xml

A persistence unit can use one or more of these mapping files in the same way a standard JPA ORM mapping XML file can be used. The default location of /META-INF/orm.xml will automatically be picked up and used by any persistence unit.

If you want to use a different name for this mapping file or provide multiple mapping files they must be listed in the peristence.xml as:

<mapping-file>META-INF/additional-orm.xml</mapping-file>

Complete Example

The Employee JPA Example using XML illustrates how XML can be used exclusively (no annotations) to configure JPA usage. This example includes the usage of this EclipseLink specific JPA mapping XML file (see Employee example eclipselink-orm.xml).