Top Description Methods
org.eclipse.persistence.jpa.metadata

public Interface MetadataSource

Known Direct Implementers
org.eclipse.persistence.jpa.metadata.MetadataSourceAdapter
Imports
java.util.Map, org.eclipse.persistence.config.PersistenceUnitProperties, org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings, org.eclipse.persistence.logging.SessionLog

Purpose: Interface used to support additional persistence unit metadata being provided from outside of what was packaged within the application. A MetadataSource will need to be registered with a persistence unit.
Author
cdelahunt, dclarke
Since
EclipseLink 2.3.0
See Also
PersistenceUnitProperties#METADATA_SOURCE

Method Summary

Modifier and TypeMethod and Description
public XMLEntityMappings
getEntityMappings(Map<String, Object> properties, ClassLoader classLoader, SessionLog log)

PUBLIC: This method is responsible for returning the object representation of the object-relational mapping overrides.

public Map<String, Object>
getPropertyOverrides(Map<String, Object> properties, ClassLoader classLoader, SessionLog log)

PUBLIC: This method is responsible for returning additional persistence unit property overrides.

Method Detail

getEntityMappingsback to summary
public XMLEntityMappings getEntityMappings(Map<String, Object> properties, ClassLoader classLoader, SessionLog log)

PUBLIC: This method is responsible for returning the object representation of the object-relational mapping overrides. It is called on initial deployment of the persistence unit and when the persistence unit is reloaded to allow customization of the persistence unit above and beyond what is packaged in the persistence.xml and what is code into the application

Important Note

This method is called during the predeploy stage that is used both for weaving and runtime EMF deployment. Runtime properties might not be available during weaving, and mapping options that require weaving changes should not be used. For example adding a lazy OneToOne mapping after weaving has already occurred will result in an exception if they are expected to have been woven into the class.

getPropertyOverridesback to summary
public Map<String, Object> getPropertyOverrides(Map<String, Object> properties, ClassLoader classLoader, SessionLog log)

PUBLIC: This method is responsible for returning additional persistence unit property overrides. It is called on initial deployment of the persistence unit and when the persistence unit is reloaded to allow customization of the persistence unit above and beyond what is packaged in the persistence.xml and what is code into the application.

Important Note

Although any property can be changed using this approach it is important that users of this feature ensure compatible configurations are supplied. As an example; overriding an application to use RESOURCE_LOCAL when it was coded to use JTA would result in changes not be written to the database.

Since
EclipseLink 2.4