public class EclipseLinkJpaMetadataProviderImpl extends JpaMetadataProviderImpl
JpaMetadataProviderImpl
.entityManager
masterMetadataMap
Constructor and Description |
---|
EclipseLinkJpaMetadataProviderImpl() |
Modifier and Type | Method and Description |
---|---|
DataObjectRelationship |
addExtensionRelationship(Class<?> entityClass,
String extensionPropertyName,
Class<?> extensionEntityClass)
Given the parameters, injects into the JPA repository a 1:1 relationship between the parent entity and the
extension entity via the given property name (which must exist on the entityClass).
|
protected org.eclipse.persistence.mappings.OneToOneMapping |
findExtensionInverse(org.eclipse.persistence.descriptors.ClassDescriptor extensionEntityDescriptor,
Class<?> entityType)
Gets the inverse extension of the given
ClassDescriptor . |
protected org.eclipse.persistence.mappings.DatabaseMapping |
findRelationshipPartner(org.eclipse.persistence.mappings.DatabaseMapping databaseMapping)
Gets the inverse mapping of the given
DatabaseMapping . |
protected org.eclipse.persistence.descriptors.ClassDescriptor |
getClassDescriptor(Class<?> entityClass)
Gets the descriptor for the entity type.
|
protected org.eclipse.persistence.jpa.JpaEntityManager |
getEclipseLinkEntityManager()
The entity manager for interacting with the database.
|
protected String |
getPropertyNameFromDatabaseColumnName(javax.persistence.metamodel.ManagedType entityType,
String databaseColumnName)
Returns the property name on the given entity type which the given database column is mapped to.
|
protected void |
populateImplementationSpecificAttributeLevelMetadata(DataObjectAttributeImpl attribute,
javax.persistence.metamodel.SingularAttribute<?,?> attr)
Hook called after all "standard" attribute-level annotations are processed to perform any further extraction
based on the internals of the JPA implementation.
|
protected void |
populateImplementationSpecificCollectionLevelMetadata(DataObjectCollectionImpl collection,
javax.persistence.metamodel.PluralAttribute<?,?,?> cd)
Hook called after all "standard" field-level annotations are processed on attributes identified as "plural" to
perform any further extraction based on the internals of the JPA implementation.
|
protected void |
populateImplementationSpecificEntityLevelMetadata(DataObjectMetadataImpl metadata,
javax.persistence.metamodel.EntityType<?> entityType)
Hook called after all "standard" annotations are processed to perform any further extraction based on the
internals of the JPA implementation.
|
protected void |
populateImplementationSpecificRelationshipLevelMetadata(DataObjectRelationshipImpl relationship,
javax.persistence.metamodel.SingularAttribute<?,?> rd)
Hook called after all "standard" field-level annotations are processed on attributes identified as "associations"
to perform any further extraction based on the internals of the JPA implementation.
|
protected void |
populateInverseRelationship(org.eclipse.persistence.mappings.DatabaseMapping mapping,
MetadataChildBase relationship)
Populates the inverse relationship for a given relationship.
|
getAttributeMetadata, getCollectionMetadataFromCollectionAttribute, getCollectionsFromMetadata, getEntityManager, getMetadataForClass, getPrimaryKeyAttributeNames, getRelationshipMetadata, getRelationships, getSingularAttributes, initializeMetadata, isClassPersistable, setEntityManager
getMetadataForType, getSupportedTypes, handles, provideMetadata, provideMetadataForTypes, requiresListOfExistingTypes
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMetadataForType, getSupportedTypes, handles, provideMetadata, provideMetadataForTypes, requiresListOfExistingTypes
public EclipseLinkJpaMetadataProviderImpl()
protected void populateImplementationSpecificEntityLevelMetadata(DataObjectMetadataImpl metadata, javax.persistence.metamodel.EntityType<?> entityType)
populateImplementationSpecificEntityLevelMetadata
in class JpaMetadataProviderImpl
metadata
- The metadata for the data object.entityType
- The entity type of the data object.protected void populateImplementationSpecificAttributeLevelMetadata(DataObjectAttributeImpl attribute, javax.persistence.metamodel.SingularAttribute<?,?> attr)
populateImplementationSpecificAttributeLevelMetadata
in class JpaMetadataProviderImpl
attribute
- The attribute metadata for the data object.attr
- The persistent single-valued property or field.protected void populateImplementationSpecificCollectionLevelMetadata(DataObjectCollectionImpl collection, javax.persistence.metamodel.PluralAttribute<?,?,?> cd)
populateImplementationSpecificCollectionLevelMetadata
in class JpaMetadataProviderImpl
collection
- The collection metadata for the data object.cd
- The persistent collection-valued attribute.protected String getPropertyNameFromDatabaseColumnName(javax.persistence.metamodel.ManagedType entityType, String databaseColumnName)
If no field on the given type is mapped to this field (which is common in cases of a JPA relationship without an
actual Column
annotated field to represent the foreign key) then this method will
return null.
entityType
- the entity type on which to search for a property that is mapped to the given columndatabaseColumnName
- the name of the database columnprotected void populateImplementationSpecificRelationshipLevelMetadata(DataObjectRelationshipImpl relationship, javax.persistence.metamodel.SingularAttribute<?,?> rd)
populateImplementationSpecificRelationshipLevelMetadata
in class JpaMetadataProviderImpl
relationship
- The relationship metadata for the data object.rd
- The persistent single-valued property or field.protected void populateInverseRelationship(org.eclipse.persistence.mappings.DatabaseMapping mapping, MetadataChildBase relationship)
mapping
- the DatabaseMapping
that defines the relationship.relationship
- the relationship of which to populate the other side.protected org.eclipse.persistence.mappings.DatabaseMapping findRelationshipPartner(org.eclipse.persistence.mappings.DatabaseMapping databaseMapping)
DatabaseMapping
.databaseMapping
- the DatabaseMapping
of which to get the inverse.DatabaseMapping
.public DataObjectRelationship addExtensionRelationship(Class<?> entityClass, String extensionPropertyName, Class<?> extensionEntityClass)
addExtensionRelationship
in interface JpaMetadataProvider
addExtensionRelationship
in class JpaMetadataProviderImpl
entityClass
- The parent (owning) class which must be already known to the JPA persistence unit. This one's metadata
will be modified within the internals of the JPA metadata.extensionPropertyName
- The property on the parent class which will hold the extensionEntity. This property must be of the
type of the extension entity or a superclass. (Object will work.)extensionEntityClass
- The child/extension class which needs to be linked. It must also already be known to JPA.protected org.eclipse.persistence.mappings.OneToOneMapping findExtensionInverse(org.eclipse.persistence.descriptors.ClassDescriptor extensionEntityDescriptor, Class<?> entityType)
ClassDescriptor
.extensionEntityDescriptor
- the ClassDescriptor
of which to get the inverse.entityType
- the type of the entity.ClassDescriptor
.protected org.eclipse.persistence.descriptors.ClassDescriptor getClassDescriptor(Class<?> entityClass)
entityClass
- the type of the enty.protected org.eclipse.persistence.jpa.JpaEntityManager getEclipseLinkEntityManager()
Copyright © 2005–2016 The Kuali Foundation. All rights reserved.