Class JpaMetamodelMappingContext
java.lang.Object
org.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,JpaPersistentProperty>
org.springframework.data.jpa.mapping.JpaMetamodelMappingContext
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
,org.springframework.context.ApplicationEventPublisherAware
,org.springframework.data.mapping.context.MappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty>
public class JpaMetamodelMappingContext
extends org.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,JpaPersistentProperty>
MappingContext
implementation based on a Jpa Metamodel
.- Since:
- 1.3
- Author:
- Oliver Gierke, Christoph Strobl, Mark Paluch, David Madden
-
Constructor Summary
ConstructorDescriptionJpaMetamodelMappingContext
(Set<jakarta.persistence.metamodel.Metamodel> models) Creates a new JPAMetamodel
basedMappingContext
. -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>
createPersistentEntity
(org.springframework.data.util.TypeInformation<T> typeInformation) protected JpaPersistentProperty
createPersistentProperty
(org.springframework.data.mapping.model.Property property, org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?> owner, org.springframework.data.mapping.model.SimpleTypeHolder simpleTypeHolder) <T> org.springframework.data.mapping.PersistentPropertyPaths<T,
JpaPersistentProperty> findPersistentPropertyPaths
(Class<T> type, Predicate<? super JpaPersistentProperty> predicate) We customize the lookup ofPersistentPropertyPaths
by also traversing properties that are embeddables.boolean
hasPersistentEntityFor
(Class<?> type) protected boolean
shouldCreatePersistentEntityFor
(org.springframework.data.util.TypeInformation<?> type) Methods inherited from class org.springframework.data.mapping.context.AbstractMappingContext
addPersistentEntity, addPersistentEntity, afterPropertiesSet, doFindPersistentPropertyPaths, getManagedTypes, getPersistentEntities, getPersistentEntity, getPersistentEntity, getPersistentEntity, getPersistentPropertyPath, getPersistentPropertyPath, initialize, setApplicationContext, setApplicationEventPublisher, setInitialEntitySet, setManagedTypes, setSimpleTypeHolder, setStrict
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.mapping.context.MappingContext
getRequiredPersistentEntity, getRequiredPersistentEntity, getRequiredPersistentEntity
-
Constructor Details
-
JpaMetamodelMappingContext
Creates a new JPAMetamodel
basedMappingContext
.- Parameters:
models
- must not be null or empty.
-
-
Method Details
-
createPersistentEntity
protected <T> org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?> createPersistentEntity(org.springframework.data.util.TypeInformation<T> typeInformation) - Specified by:
createPersistentEntity
in classorg.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty>
-
createPersistentProperty
protected JpaPersistentProperty createPersistentProperty(org.springframework.data.mapping.model.Property property, org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?> owner, org.springframework.data.mapping.model.SimpleTypeHolder simpleTypeHolder) - Specified by:
createPersistentProperty
in classorg.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty>
-
shouldCreatePersistentEntityFor
protected boolean shouldCreatePersistentEntityFor(org.springframework.data.util.TypeInformation<?> type) - Overrides:
shouldCreatePersistentEntityFor
in classorg.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty>
-
findPersistentPropertyPaths
public <T> org.springframework.data.mapping.PersistentPropertyPaths<T,JpaPersistentProperty> findPersistentPropertyPaths(Class<T> type, Predicate<? super JpaPersistentProperty> predicate) We customize the lookup ofPersistentPropertyPaths
by also traversing properties that are embeddables.- Specified by:
findPersistentPropertyPaths
in interfaceorg.springframework.data.mapping.context.MappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty> - Overrides:
findPersistentPropertyPaths
in classorg.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty> - See Also:
-
AbstractMappingContext.findPersistentPropertyPaths(java.lang.Class, java.util.function.Predicate)
-
hasPersistentEntityFor
- Specified by:
hasPersistentEntityFor
in interfaceorg.springframework.data.mapping.context.MappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty> - Overrides:
hasPersistentEntityFor
in classorg.springframework.data.mapping.context.AbstractMappingContext<org.springframework.data.jpa.mapping.JpaPersistentEntityImpl<?>,
JpaPersistentProperty>
-