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

Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/Overriding and Merging"

m
m (Replacing page with ' '''Warning See "Overriding and Merging Mapping Information" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guid...')
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{EclipseLink_UserGuide
 
|info=y
 
|toc=n
 
|eclipselink=y
 
|eclipselinktype=JPA
 
|
 
}}
 
  
= Overriding and Merging Metadata Settings =
 
  
You can use EclipseLink’s native metadata xml file, [[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/eclipselink-orm.xml|<tt>eclipselink-orm.xml</tt>]], to override mappings defined in JPA’s configuration file <tt>[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/orm.xml|orm.xml]]</tt> and provide EclipseLink with extended ORM features. {{EclipseLink_Spec
 
|link=http://jcp.org/en/jsr/detail?id=220
 
|section=Section 12.2 "XML Overriding Rules"
 
}}
 
  
When both <tt>orm.xml</tt> and <tt>eclipselink-orm.xml</tt> are specified in a project, the contents of <tt>eclipselink-orm.xml</tt> override <tt>orm.xml</tt> and any other JPA mapping file specified in the persistence unit. If there are overlapping specifications in multiple ORM files, the files are merged if there are no conflicting entities. {{EclipseLink_Note
+
'''[[Image:Elug_draft_icon.png|Warning]] See "Overriding and Merging Mapping Information" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]'''
|note=The order of files defined in <tt>persistence.xml</tt> does not define the order of their processing. The files are processed, merged, and overidden as required. For more information, see [[#Overriding and Merging Examples|Overriding and Merging Examples]], below.}}
+
 
+
The <tt>eclipselink-orm.xml</tt> file can be referenced for inclusion in a persistence unit’s metadata through any of the following files or methods:
+
 
+
{|
+
|-
+
! File/Method
+
! Description
+
|-
+
| <tt>META-INF/eclipselink-orm.xml</tt>
+
| Provides mapping overriding capabilities.
+
|-
+
| <tt>META-INF/orm.xml</tt>
+
| The default ORM file provided with JPA.
+
|-
+
| Referenced as persistence unit mapping file in <tt>persistence.xml</tt>
+
| Does not provide mapping overriding capability, but can be used for merging mapping files.
+
|}
+
 
+
== Overriding and Merging Examples  ==
+
 
+
'''''Example 1'''''
+
 
+
*<tt>META-INF/orm.xml</tt> - defines Entity A with the mappings b and c.
+
*<tt>META-INF/eclipselink-orm.xml</tt> - defines Entity A with the mappings for c and d.
+
*Result - Entity A will contain the mapping b (from <tt>orm.xml</tt>), mapping c and d (from <tt>eclipselink-orm.xml</tt>)
+
 
+
'''''Example 2'''''
+
 
+
*<tt>META-INF/orm.xml</tt> - defines Entity A with the mappings b and c
+
*<tt>META-INF/some-other-mapping-file.xml</tt> - defines Entity B with mappings a and b
+
*<tt>META-INF/eclipselink-orm.xml</tt> - defines Entity A with the mappings for c and d and Entity B with the mapping b and c
+
*Result
+
**Entity A will contain the mapping b (from <tt>orm.xml</tt>), mapping c and d (from <tt>eclipselink-orm.xml</tt>)
+
**Entity B will contain the mapping a (from <tt>some-other-mapping-file</tt>), mappings b and c (from <tt>eclipselink-orm.xml</tt>)
+
 
+
'''''Example 3'''''
+
 
+
*<tt>META-INF/orm.xml</tt> - defines Entity A with the mappings b and c.
+
*<tt>META-INF/eclipselink-orm.xml</tt> - defines Entity A with the mappings c and d.
+
*<tt>META-INF/some-other-mapping-file.xml</tt> - defines Entity A with the mapping x.
+
*Result - Entity A will contain the mapping b (from <tt>orm.xml</tt>), mapping c and d (from <tt>eclipselink-orm.xml</tt>) and mapping x (from some-other-mapping-file)
+
 
+
'''''Example 4'''''
+
 
+
*<tt>META-INF/orm.xml</tt> - defines Entity A with the mappings b and c.
+
*<tt>META-INF/extensions/eclipselink-orm.xml</tt>- defines defines Entity A with the mappings c and d. <br> '''Note:''' This file is added through a &lt;mapping-file&gt; tag in the <tt>persistence.xml</tt>
+
*Result - Exception generated for conficting specifications for mapping c.
+
 
+
'''''Example 5'''''
+
 
+
*<tt>META-INF/orm.xml</tt> - defines Entity A with the mappings b and c.
+
*<tt>META-INF/jpa-mapping-file.xml</tt> - defines Entity A with the mappings a and d.
+
*<tt>META-INF/extensions/eclipse-mapping-file.xml</tt> - defines defines Entity A with the mappings c and d.
+
*Result - Exception generated for conficting specifications for mapping c or d (which ever is processed first).
+
 
+
== Overriding and Merging Rules  ==
+
 
+
The following sections outlines elements defined in <tt>orm.xml</tt> and their specific overriding in greater detail.
+
 
+
=== Persistence Unit Metadata  ===
+
 
+
In <tt>eclipselink-orm.xml</tt>, a persistence-unit-metadata specification merges or overrides the values of existing persistence-unit-metadata specification.
+
 
+
{|
+
|-
+
! entity-mappings/persistence-unit-metadata
+
! Rule
+
! Description
+
|-
+
| xml-mapping-metadata-complete
+
| Full override
+
| If specified, the complete set of mapping metadata for the persistence unit is contained in the XML mapping files for the persistence unit.
+
|-
+
| persistence-unit-defaults/schema
+
| Full override
+
| If a schema setting exists, then the <tt>eclipselink-orm.xml</tt>'s schema setting overrides the existing setting, or creates a new schema setting.
+
|-
+
| persistence-unit-defaults/catalog
+
| Full override
+
| If a catalog setting exists, then the <tt>eclipselink-orm.xml</tt>'s catalog setting overrides the existing setting, or creates a new catalog setting
+
|-
+
| persistence-unit-defaults/access
+
| Full override
+
| If an <tt>access</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>access</tt> setting overrides the existing setting, or creates a new <tt>access</tt> setting.
+
|-
+
| entity-mappings/persistence-unit-metadata/persistence-unit-defaults/cascade-persist
+
| Full override
+
| If a cascade-persist setting exists, then the <tt>eclipselink-orm.xml</tt>'s cascade-persist setting overrides the existing setting, or creates a new cascade-persist setting.
+
|-
+
| entity-mappings/persistence-unit-metadata/persistence-unit-defaults/entity-listeners
+
| Merge
+
| If an entity-listeners exists, then the <tt>eclipselink-orm.xml</tt>'s entity-listeners will be merged with the list of all entity-listeners from the persistence unit.
+
|}
+
 
+
=== Entity Mappings  ===
+
 
+
Entities, embeddables and mapped superclasses are defined within entity-mappings. <tt>eclipselink-orm.xml</tt>'s entities, embeddables and mapped superclasses are added to the persistence unit. The following table describes the top-level elements of the entity-mappings sections:
+
 
+
{|
+
|-
+
! entity-mappings/
+
! Rule
+
! Description
+
|-
+
| package
+
| None
+
| The package element specifies the package of the classes listed within the subelements and attributes of the same mapping file only. It is only applicable to those entities that are fully defined within the <tt>eclipselink-orm.xml</tt> file, else its usage remains local and is same as described in the JPA specification.
+
|-
+
| catalog
+
| None
+
| The catalog element applies only to the subelements and attributes listed within the <tt>eclipselink-orm.xml</tt> file that are not an extension to another mapping file. Otherwise, the use of the catalog element within the <tt>eclipselink-orm.xml</tt> file remains local and is same as described in the JPA specification.
+
|-
+
| schema
+
| None
+
| The schema element applies only to the subelements and attributes listed within the <tt>eclipselink-orm.xml</tt> file that are not an extension to another mapping file. Otherwise, the use of the schema element within the <tt>eclipselink-orm.xml</tt> file remains local and is same as described in the JPA specification.
+
|-
+
| access
+
| None
+
| The access element applies only to the subelements and attributes listed within the <tt>eclipselink-orm.xml</tt> file that are not an extension to another mapping file. Otherwise, the use of the access element within the <tt>eclipselink-orm.xml</tt> file remains local and is same as described in the JPA specification.
+
|-
+
| sequence-generator
+
| Full override
+
| A <tt>sequence-generator</tt> is unique by name. The <tt>sequence-generator</tt> defined in the <tt>eclipselink-orm.xml</tt> will override a <tt>sequence-generator</tt> of the same name defined in another mapping file. Outside of the overriding case, an exception is thrown if two or more <tt>sequence-generator</tt>s with the same name are defined in one or across multiple mapping files.
+
|-
+
| table-generator
+
| Full override
+
| A table-generator is unique by name. The table-generator defined in the <tt>eclipselink-orm.xml</tt> will override a table-generator of the same name defined in another mapping file. Outside of the overriding case, an exception is thrown if two or more table-generators with the same name are defined in one or across multiple mapping files.
+
|-
+
| named-query
+
| Full override
+
| A named-query is unique by name. The named-query defined in the <tt>eclipselink-orm.xml</tt> will override a named-query of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more named-querys with the same name are defined in one or across multiple mapping file.
+
|-
+
| named-native-query
+
| Full override
+
| A named-native-query is unique by name. The named-native-query defined in the <tt>eclipselink-orm.xml</tt> will override a named-native-query of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more named-native-querys with the same name are defined in one or across multiple mapping files.
+
|-
+
| sql-result-set-mapping
+
| Full override
+
| A sql-result-set-mapping is unique by name. The sql-result-set-mapping defined in the <tt>eclipselink-orm.xml</tt> will override a sql-result-set-mapping of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more sql-result-set-mapping entities with the same name are defined in one or across multiple mapping files.
+
|}
+
 
+
=== Mapped Superclass  ===
+
 
+
A mapped-superclass can be defined completely, or with specific elements to provide extensions to a mapped-superclass from another mapping file. The following table lists individual override and merging rules:
+
 
+
{|
+
|-
+
! entity-mappings/mapped-superclass
+
! Rule
+
! Description
+
|-
+
| id-class
+
| Full override
+
| If an id-class setting exists, then the <tt>eclipselink-orm.xml</tt>'s id-class setting overrides the existing setting, or creates a new id-class setting.
+
|-
+
| exclude-default-listeners
+
| Full override
+
| If an <tt>exclude-default-listeners</tt>setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>exclude-default-listeners</tt>setting will be applied. If the <tt>exclude-default-listeners</tt>setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|-
+
| exclude-superclass-listeners
+
| Full override
+
| If an <tt>exclude-superclass-listeners</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>exclude-superclass-listeners</tt> setting will be applied. If <tt>exclude-superclass-listeners</tt> setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|-
+
| entity-listeners
+
| Merge and full override
+
| If an <tt>entity-listeners</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>entity-listeners</tt> setting will override and merge with an existing setting, or creates a new <tt>entity-listeners</tt> setting all together. <br>{{EclipseLink_Note|note=An entity listener override must be complete. All lifecycle methods of that listener must be specified and no merging of individual lifecycle methods of an entity listener is allowed.  The class name of the listener is the key to identify the override.}}
+
|-
+
| pre-persist
+
| Full override
+
| If a <tt>pre-persist</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-persist</tt> setting overrides the existing setting, or creates a new <tt>pre-persist</tt> setting.
+
|-
+
| post-persist
+
| Full override
+
| If a <tt>post-persist</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-persist</tt> setting overrides the existing setting, or creates a new <tt>post-persist</tt> setting.
+
|-
+
| pre-remove
+
| Full override
+
| If a <tt>pre-remove</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-remove</tt> setting overrides the existing setting, or creates a new <tt>pre-remove</tt> setting.
+
|-
+
| post-remove
+
| Full override
+
| If a <tt>post-remove</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-remove</tt> setting overrides the existing setting, or creates a new <tt>post-remove</tt> setting.
+
|-
+
| pre-update
+
| Full override
+
| If a <tt>pre-update</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-update</tt> setting overrides the existing setting, or creates a new <tt>pre-update</tt> setting.
+
|-
+
| post-update
+
| Full override
+
| If a <tt>post-update</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-update</tt> setting overrides the existing setting, or creates a new <tt>post-update</tt> setting.
+
|-
+
| post-load
+
| Full override
+
| If a <tt>post-load</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-load</tt> setting overrides the existing setting, or creates a new <tt>post-load</tt> setting.
+
|-
+
| attributes
+
| Merge and mapping level override
+
| If the attribute settings (<tt>id</tt>, <tt>embedded-id</tt>, <tt>basic</tt>, <tt>version</tt>, <tt>many-to-one</tt>, <tt>one-to-many</tt>, <tt>one-to-one</tt>) exist at the mapping level, then the <tt>eclipselink-orm.xml</tt>'s attributes merges or overrides the existing settings, else creates new attributes.
+
|-
+
| class
+
| None
+
|
+
|-
+
| access
+
| Full override
+
| If an <tt>access</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>access</tt> setting overrides the existing setting, or creates a new <tt>access</tt> setting. It also overrides the default class setting.
+
|-
+
| metadata-complete
+
| Full override
+
| If a <tt>metadata-complete</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>metadata-complete</tt> setting will be applied. If <tt>metadata-complete</tt> setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|}
+
 
+
=== Entity override and merging rules  ===
+
 
+
An entity can be defined completely, or with specific elements to provide extensions to an entity from another mapping file. The following table lists individual override and merging rules:
+
 
+
{|
+
|-
+
! entity-mappings/entity
+
! Rule
+
! Comments
+
|-
+
| table
+
| Full override
+
| The <tt>table</tt> definition overrides any other <tt>table</tt> setting (with the same name) for this entity. There is no merging of individual table values.
+
|-
+
| secondary-table
+
| Full override
+
| The <tt>secondary-table</tt> definition overrides another <tt>secondary-table</tt> setting (with the same name) for this entity. There is no merging of individual secondary-table(s) values.
+
|-
+
| primary-key-join-column
+
| Full override
+
| The <tt>primary-key-join-column(s)</tt> definition overrides any other <tt>primary-key-join-column(s)</tt> setting for this entity. There is no merging of the <tt>primary-key-join-column(s)</tt>. The specification is assumed to be complete and these primary-key-join-columns are the source of truth.
+
|-
+
| id-class
+
| Full override
+
| If an <tt>id-class</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>id-class</tt> setting overrides the existing setting, or creates a new <tt>id-class</tt> .
+
|-
+
| inheritance
+
| Full override
+
| If an <tt>inheritance</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>inheritance</tt> setting overrides the existing setting, or creates a new <tt>inheritance</tt> setting.
+
|-
+
| discriminator-value
+
| Full override
+
| If a <tt>discriminator-value</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>discriminator-value</tt> setting overrides the existing setting, or creates a new <tt>discriminator-value</tt> setting.
+
|-
+
| discriminator-column
+
| Full override
+
| If a <tt>discriminator-column</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>discriminator-column</tt> setting overrides the existing setting, or creates a new <tt>discriminator-column</tt> setting.
+
|-
+
| sequence-generator
+
| Full override
+
| A <tt>sequence-generator</tt> is unique by name. The <tt>sequence-generator</tt> defined in <tt>eclipselink-orm.xml</tt> overrides <tt>sequence-generator</tt> of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more <tt>sequence-generators</tt> with the same name are defined in one or across multiple mapping files.
+
|-
+
| table-generator
+
| Full override
+
| A <tt>table-generator</tt> is unique by name. The table-generator defined in <tt>eclipselink-orm.xml</tt> overrides table-generator of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more table-generators with the same name are defined in one or across multiple mapping files.
+
|-
+
| named-query
+
| Merge and full override
+
| A <tt>named-query</tt> is unique by name. The <tt>named-query</tt> defined in <tt>eclipselink-orm.xml</tt> overrides any <tt>named-query</tt> of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more tt>named-query</tt> elements with the same name are defined in one or across multiple mapping files.
+
|-
+
| named-native-query
+
| Merge and full override
+
| A <tt>named-native-query</tt> is unique by name. The <tt>named-native-query</tt> defined in <tt>eclipselink-orm.xml</tt> overrides <tt>named-native-query</tt> of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more <tt>named-native-query</tt> elements with the same name are defined in one or across multiple mapping files.
+
|-
+
| sql-result-set-mapping
+
| Merge and full override
+
| A <tt>sql-result-set-mapping</tt> is unique by name. <tt>sql-result-set-mapping</tt> defined in <tt>eclipselink-orm.xml</tt> overrides <tt>sql-result-set-mapping</tt> of the same name defined in other mapping files. Outside of the overriding case, an exception is thrown if two or more sql-result-set-mapping elements with the same name are defined in one or across multiple mapping files.
+
|-
+
| exclude-default-listeners
+
| Full override
+
| If an <tt>exclude-default-listeners</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>exclude-default-listeners</tt>setting will be applied. If an <tt>exclude-default-listeners</tt>setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|-
+
| exclude-superclass-listeners
+
| Full override
+
| If an <tt>exclude-superclass-listeners</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>exclude-superclass-listeners</tt> setting will be applied. If an <tt>exclude-superclass-listeners</tt> setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|-
+
| entity-listeners
+
| Full override
+
| If an <tt>entity-listeners</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>entity-listeners</tt> setting will override and merge with an existing setting, or creates a new <tt>entity-listeners</tt> setting all together. <br> {{EclipseLink_Note|note=An entity listener override must be complete. All lifecycle methods of that listener must be specified and no merging of individual lifecycle methods of an entity listener is allowed.  The class name of the listener is the key to identify the override.}}
+
|-
+
| pre-persist
+
| Full override
+
| If a <tt>pre-persist</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-persist</tt> setting overrides the existing setting, or creates a new <tt>pre-persist</tt> setting.
+
|-
+
| post-persist
+
| Full override
+
| If a <tt>post-persist</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-persist</tt> setting overrides the existing setting, or creates a new <tt>post-persist</tt> setting.
+
|-
+
| pre-remove
+
| Full override
+
| If a <tt>pre-remove</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-remove</tt> setting overrides the existing setting, or creates a new <tt>pre-remove</tt> setting.
+
|-
+
| post-remove
+
| Full override
+
| If a <tt>post-remove</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-remove</tt> setting overrides the existing setting, or creates a new <tt>post-remove</tt> setting.
+
|-
+
| pre-update
+
| Full override
+
| If a <tt>pre-update</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>pre-update</tt> setting overrides the existing setting, or creates a new <tt>pre-update</tt> setting.
+
|-
+
| post-update
+
| Full override
+
| If a <tt>post-update</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-update</tt> setting overrides the existing setting, or creates a new <tt>post-update</tt> setting.
+
|-
+
| post-load
+
| Full override
+
| If a <tt>post-load</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>post-load</tt> setting overrides the existing setting, or creates a new <tt>post-load</tt> setting.
+
|-
+
| attributes
+
| Merge and mapping level override
+
| If the attribute settings (<tt>id</tt>, <tt>embedded-id</tt>, <tt>basic</tt>, <tt>version</tt>, <tt>many-to-one</tt>, <tt>one-to-many</tt>, <tt>one-to-one</tt>) exist at the mapping level, then the <tt>eclipselink-orm.xml</tt>'s attributes merges or overrides the existing settings, else creates new attributes.
+
|-
+
| association-override
+
| Merge and full override
+
| If an <tt>association-override</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>association-override</tt> setting overrides the existing setting, or creates a new <tt>association-override</tt> setting.
+
|-
+
| name
+
| Full override
+
| If a <tt>name</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>name</tt> setting overrides the existing setting, or creates a new <tt>name</tt> setting.
+
|-
+
| class
+
| None
+
|
+
|-
+
| access
+
| Full override
+
| If an <tt>access</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>access</tt> setting overrides the existing setting, or creates a new <tt>access</tt> setting. It also overrides the default class setting.
+
|-
+
| metadata-complete
+
| Full override
+
| If a <tt>metadata-complete</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>metadata-complete</tt> setting will be applied. If a <tt>metadata-complete</tt> setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|}
+
 
+
=== Embeddable  ===
+
 
+
An embeddable can be defined wholely or may be defined so as to provide extensions to an embeddeable from another mapping file. Therefore, we will allow the merging of that classes metadata. The individual override rules for that metadata is tabled below.
+
 
+
{|
+
|-
+
! entity-mappings/embeddable
+
! Rule
+
! Description
+
|-
+
| attributes
+
| Override and merge
+
| If the attribute settings (<tt>id</tt>, <tt>embedded-id</tt>, <tt>basic</tt>, <tt>version</tt>, <tt>many-to-one</tt>, <tt>one-to-many</tt>, <tt>one-to-one</tt>, <tt>many-to-many</tt>, <tt>embedded</tt>, <tt>transient</tt>) exist at the mapping level, then the <tt>eclipselink-orm.xml</tt>'s attributes merges or overrides the existing settings, or creates new attributes.
+
|-
+
| class
+
| None
+
|
+
|-
+
| access
+
| Full override
+
| If an <tt>access</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>access</tt> setting overrides the existing setting, or creates a new <tt>access</tt> setting. It also overrides the default class setting.
+
|-
+
| metadata-complete
+
| Full override
+
| If a <tt>metadata-complete</tt> setting exists, then the <tt>eclipselink-orm.xml</tt>'s <tt>metadata-complete</tt> setting will be applied. If a <tt>metadata-complete</tt> setting is not specified, it will not override an existing setting, that is essentially turning it off.
+
|}
+
 
+
<br>
+
 
+
{{EclipseLink_JPA
+
|previous=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/eclipselink-orm.xml|Specifying EclipseLink Object-Relational Mappings Using eclipselink-orm.xml]]
+
|next=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Creating_and_Configuring_Entities|Configuring Entities]]
+
|up=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration|JPA Configuration Basics]]
+
|version=2.2.0 DRAFT}}
+

Latest revision as of 11:51, 25 January 2013


Warning See "Overriding and Merging Mapping Information" in the EclipseLink Concepts Guide

Back to the top