Package org.hibernate.engine.spi
Class SessionFactoryDelegatingImpl
- java.lang.Object
-
- org.hibernate.engine.spi.SessionFactoryDelegatingImpl
-
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
,Referenceable
,EntityManagerFactory
,Mapping
,SessionFactoryImplementor
,HibernateEntityManagerFactory
,QueryParameterBindingTypeResolver
,SessionFactory
public class SessionFactoryDelegatingImpl extends Object implements SessionFactoryImplementor, SessionFactory
Base delegating implementation of the SessionFactory and SessionFactoryImplementor contracts for intended for easier implementation of SessionFactory.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.engine.spi.SessionFactoryImplementor
SessionFactoryImplementor.DeserializationResolver<T extends SessionFactoryImplementor>
-
-
Constructor Summary
Constructors Constructor Description SessionFactoryDelegatingImpl(SessionFactoryImplementor delegate)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.jpa.HibernateEntityManagerFactory
getEntityManagerFactoryName, getEntityTypeByName, getSessionFactory
-
-
-
-
Constructor Detail
-
SessionFactoryDelegatingImpl
public SessionFactoryDelegatingImpl(SessionFactoryImplementor delegate)
-
-
Method Detail
-
delegate
protected SessionFactoryImplementor delegate()
-
getSessionFactoryOptions
public SessionFactoryOptions getSessionFactoryOptions()
Description copied from interface:SessionFactory
Get the special options used to build the factory.- Specified by:
getSessionFactoryOptions
in interfaceSessionFactory
- Returns:
- The special options used to build the factory.
-
withOptions
public SessionBuilderImplementor withOptions()
Description copied from interface:SessionFactory
Obtain aSession
builder.- Specified by:
withOptions
in interfaceSessionFactory
- Specified by:
withOptions
in interfaceSessionFactoryImplementor
- Returns:
- The session builder
-
openSession
public Session openSession() throws HibernateException
Description copied from interface:SessionFactory
Open aSession
. JDBCconnection(s
will be obtained from the configuredConnectionProvider
as needed to perform requested work.- Specified by:
openSession
in interfaceSessionFactory
- Returns:
- The created session.
- Throws:
HibernateException
- Indicates a problem opening the session; pretty rare here.
-
getCurrentSession
public Session getCurrentSession() throws HibernateException
Description copied from interface:SessionFactory
Obtains the current session. The definition of what exactly "current" means controlled by theCurrentSessionContext
impl configured for use. Note that for backwards compatibility, if aCurrentSessionContext
is not configured but JTA is configured this will default to theJTASessionContext
impl.- Specified by:
getCurrentSession
in interfaceSessionFactory
- Returns:
- The current session.
- Throws:
HibernateException
- Indicates an issue locating a suitable current session.
-
withStatelessOptions
public StatelessSessionBuilder withStatelessOptions()
Description copied from interface:SessionFactory
Obtain aStatelessSession
builder.- Specified by:
withStatelessOptions
in interfaceSessionFactory
- Returns:
- The stateless session builder
-
openStatelessSession
public StatelessSession openStatelessSession()
Description copied from interface:SessionFactory
Open a new stateless session.- Specified by:
openStatelessSession
in interfaceSessionFactory
- Returns:
- The created stateless session.
-
openStatelessSession
public StatelessSession openStatelessSession(Connection connection)
Description copied from interface:SessionFactory
Open a new stateless session, utilizing the specified JDBCConnection
.- Specified by:
openStatelessSession
in interfaceSessionFactory
- Parameters:
connection
- Connection provided by the application.- Returns:
- The created stateless session.
-
getClassMetadata
public ClassMetadata getClassMetadata(Class entityClass)
Description copied from interface:SessionFactory
Retrieve theClassMetadata
associated with the given entity class.- Specified by:
getClassMetadata
in interfaceSessionFactory
- Parameters:
entityClass
- The entity class- Returns:
- The metadata associated with the given entity; may be null if no such entity was mapped.
-
getClassMetadata
public ClassMetadata getClassMetadata(String entityName)
Description copied from interface:SessionFactory
Retrieve theClassMetadata
associated with the given entity class.- Specified by:
getClassMetadata
in interfaceSessionFactory
- Parameters:
entityName
- The entity class- Returns:
- The metadata associated with the given entity; may be null if no such entity was mapped.
-
getCollectionMetadata
public CollectionMetadata getCollectionMetadata(String roleName)
Description copied from interface:SessionFactory
Get theCollectionMetadata
associated with the named collection role.- Specified by:
getCollectionMetadata
in interfaceSessionFactory
- Parameters:
roleName
- The collection role (in form [owning-entity-name].[collection-property-name]).- Returns:
- The metadata associated with the given collection; may be null if no such collection was mapped.
-
getAllClassMetadata
public Map<String,ClassMetadata> getAllClassMetadata()
Description copied from interface:SessionFactory
Retrieve theClassMetadata
for all mapped entities.- Specified by:
getAllClassMetadata
in interfaceSessionFactory
- Returns:
- A map containing all
ClassMetadata
keyed by the correspondingString
entity-name.
-
getAllCollectionMetadata
public Map getAllCollectionMetadata()
Description copied from interface:SessionFactory
Get theCollectionMetadata
for all mapped collections.- Specified by:
getAllCollectionMetadata
in interfaceSessionFactory
- Returns:
- a map from String to CollectionMetadata
-
getStatistics
public StatisticsImplementor getStatistics()
Description copied from interface:SessionFactory
Retrieve the statistics fopr this factory.- Specified by:
getStatistics
in interfaceSessionFactory
- Specified by:
getStatistics
in interfaceSessionFactoryImplementor
- Returns:
- The statistics.
-
close
public void close() throws HibernateException
Description copied from interface:SessionFactory
Destroy this SessionFactory and release all resources (caches, connection pools, etc). It is the responsibility of the application to ensure that there are no opensessions
before calling this method as the impact on thosesessions
is indeterminate. No-ops if alreadyclosed
.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceEntityManagerFactory
- Specified by:
close
in interfaceSessionFactory
- Throws:
HibernateException
- Indicates an issue closing the factory.
-
isClosed
public boolean isClosed()
Description copied from interface:SessionFactory
Is this factory already closed?- Specified by:
isClosed
in interfaceSessionFactory
- Returns:
- True if this factory is already closed; false otherwise.
-
getCache
public CacheImplementor getCache()
Description copied from interface:SessionFactory
Obtain direct access to the underlying cache regions.- Specified by:
getCache
in interfaceEntityManagerFactory
- Specified by:
getCache
in interfaceSessionFactory
- Specified by:
getCache
in interfaceSessionFactoryImplementor
- Returns:
- The direct cache access API.
-
getPersistenceUnitUtil
public PersistenceUnitUtil getPersistenceUnitUtil()
- Specified by:
getPersistenceUnitUtil
in interfaceEntityManagerFactory
-
addNamedQuery
public void addNamedQuery(String name, Query query)
- Specified by:
addNamedQuery
in interfaceEntityManagerFactory
-
unwrap
public <T> T unwrap(Class<T> cls)
- Specified by:
unwrap
in interfaceEntityManagerFactory
-
addNamedEntityGraph
public <T> void addNamedEntityGraph(String graphName, EntityGraph<T> entityGraph)
- Specified by:
addNamedEntityGraph
in interfaceEntityManagerFactory
-
getDefinedFilterNames
public Set getDefinedFilterNames()
Description copied from interface:SessionFactory
Obtain a set of the names of all filters defined on this SessionFactory.- Specified by:
getDefinedFilterNames
in interfaceSessionFactory
- Returns:
- The set of filter names.
-
getFilterDefinition
public FilterDefinition getFilterDefinition(String filterName) throws HibernateException
Description copied from interface:SessionFactory
Obtain the definition of a filter by name.- Specified by:
getFilterDefinition
in interfaceSessionFactory
- Parameters:
filterName
- The name of the filter for which to obtain the definition.- Returns:
- The filter definition.
- Throws:
HibernateException
- If no filter defined with the given name.
-
containsFetchProfileDefinition
public boolean containsFetchProfileDefinition(String name)
Description copied from interface:SessionFactory
Determine if this session factory contains a fetch profile definition registered under the given name.- Specified by:
containsFetchProfileDefinition
in interfaceSessionFactory
- Parameters:
name
- The name to check- Returns:
- True if there is such a fetch profile; false otherwise.
-
getTypeHelper
public TypeHelper getTypeHelper()
Description copied from interface:SessionFactory
Retrieve this factory'sTypeHelper
.- Specified by:
getTypeHelper
in interfaceSessionFactory
- Returns:
- The factory's
TypeHelper
-
getTypeResolver
@Deprecated public TypeResolver getTypeResolver()
Deprecated.(since 5.3) No replacement, access to and handling of Types will be much different in 6.0Retrieve theType
resolver associated with this factory.- Specified by:
getTypeResolver
in interfaceSessionFactoryImplementor
- Returns:
- The type resolver
-
getProperties
public Map<String,Object> getProperties()
- Specified by:
getProperties
in interfaceEntityManagerFactory
-
getEntityPersister
public EntityPersister getEntityPersister(String entityName) throws MappingException
- Specified by:
getEntityPersister
in interfaceSessionFactoryImplementor
- Throws:
MappingException
-
getEntityPersisters
public Map<String,EntityPersister> getEntityPersisters()
- Specified by:
getEntityPersisters
in interfaceSessionFactoryImplementor
-
getCollectionPersister
public CollectionPersister getCollectionPersister(String role) throws MappingException
- Specified by:
getCollectionPersister
in interfaceSessionFactoryImplementor
- Throws:
MappingException
-
getCollectionPersisters
public Map<String,CollectionPersister> getCollectionPersisters()
- Specified by:
getCollectionPersisters
in interfaceSessionFactoryImplementor
-
getJdbcServices
public JdbcServices getJdbcServices()
Description copied from interface:SessionFactoryImplementor
Get the JdbcServices.- Specified by:
getJdbcServices
in interfaceSessionFactoryImplementor
- Returns:
- the JdbcServices
-
getDialect
public Dialect getDialect()
Description copied from interface:SessionFactoryImplementor
Get the SQL dialect. Shorthand forgetJdbcServices().getDialect()
- Specified by:
getDialect
in interfaceSessionFactoryImplementor
- Returns:
- The dialect
-
getInterceptor
public Interceptor getInterceptor()
Description copied from interface:SessionFactoryImplementor
Get the factory scoped interceptor for this factory.- Specified by:
getInterceptor
in interfaceSessionFactoryImplementor
- Returns:
- The factory scope interceptor, or null if none.
-
getQueryPlanCache
public QueryPlanCache getQueryPlanCache()
Description copied from interface:SessionFactoryImplementor
Access to the cachres of HQL/JPQL and native query plans.- Specified by:
getQueryPlanCache
in interfaceSessionFactoryImplementor
- Returns:
- The query plan cache
-
getReturnTypes
public Type[] getReturnTypes(String queryString) throws HibernateException
Description copied from interface:SessionFactoryImplementor
Get the return types of a query- Specified by:
getReturnTypes
in interfaceSessionFactoryImplementor
- Throws:
HibernateException
-
getReturnAliases
public String[] getReturnAliases(String queryString) throws HibernateException
Description copied from interface:SessionFactoryImplementor
Get the return aliases of a query- Specified by:
getReturnAliases
in interfaceSessionFactoryImplementor
- Throws:
HibernateException
-
getImplementors
public String[] getImplementors(String className) throws MappingException
Description copied from interface:SessionFactoryImplementor
Get the names of all persistent classes that implement/extend the given interface/class- Specified by:
getImplementors
in interfaceSessionFactoryImplementor
- Throws:
MappingException
-
getImportedClassName
public String getImportedClassName(String name)
Description copied from interface:SessionFactoryImplementor
Get a class name, using query language imports- Specified by:
getImportedClassName
in interfaceSessionFactoryImplementor
-
findEntityGraphByName
public EntityGraph findEntityGraphByName(String name)
- Specified by:
findEntityGraphByName
in interfaceSessionFactoryImplementor
-
getStatisticsImplementor
public StatisticsImplementor getStatisticsImplementor()
- Specified by:
getStatisticsImplementor
in interfaceSessionFactoryImplementor
-
getNamedQuery
public NamedQueryDefinition getNamedQuery(String queryName)
- Specified by:
getNamedQuery
in interfaceSessionFactoryImplementor
-
registerNamedQueryDefinition
public void registerNamedQueryDefinition(String name, NamedQueryDefinition definition)
- Specified by:
registerNamedQueryDefinition
in interfaceSessionFactoryImplementor
-
getNamedSQLQuery
public NamedSQLQueryDefinition getNamedSQLQuery(String queryName)
- Specified by:
getNamedSQLQuery
in interfaceSessionFactoryImplementor
-
registerNamedSQLQueryDefinition
public void registerNamedSQLQueryDefinition(String name, NamedSQLQueryDefinition definition)
- Specified by:
registerNamedSQLQueryDefinition
in interfaceSessionFactoryImplementor
-
getResultSetMapping
public ResultSetMappingDefinition getResultSetMapping(String name)
- Specified by:
getResultSetMapping
in interfaceSessionFactoryImplementor
-
getIdentifierGenerator
public IdentifierGenerator getIdentifierGenerator(String rootEntityName)
Description copied from interface:SessionFactoryImplementor
Get the identifier generator for the hierarchy- Specified by:
getIdentifierGenerator
in interfaceSessionFactoryImplementor
-
getSQLExceptionConverter
public SQLExceptionConverter getSQLExceptionConverter()
Description copied from interface:SessionFactoryImplementor
Retrieves the SQLExceptionConverter in effect for this SessionFactory.- Specified by:
getSQLExceptionConverter
in interfaceSessionFactoryImplementor
- Returns:
- The SQLExceptionConverter for this SessionFactory.
-
getSQLExceptionHelper
public SqlExceptionHelper getSQLExceptionHelper()
Description copied from interface:SessionFactoryImplementor
Retrieves the SqlExceptionHelper in effect for this SessionFactory.- Specified by:
getSQLExceptionHelper
in interfaceSessionFactoryImplementor
- Returns:
- The SqlExceptionHelper for this SessionFactory.
-
getSettings
public Settings getSettings()
- Specified by:
getSettings
in interfaceSessionFactoryImplementor
-
openTemporarySession
public Session openTemporarySession() throws HibernateException
Description copied from interface:SessionFactoryImplementor
Get a non-transactional "current" session (used by hibernate-envers)- Specified by:
openTemporarySession
in interfaceSessionFactoryImplementor
- Throws:
HibernateException
-
getCollectionRolesByEntityParticipant
public Set<String> getCollectionRolesByEntityParticipant(String entityName)
- Specified by:
getCollectionRolesByEntityParticipant
in interfaceSessionFactoryImplementor
- Parameters:
entityName
- The entity name for which to get the collection roles.- Returns:
- set of all the collection roles in which the given entityName participates.
-
getEntityNotFoundDelegate
public EntityNotFoundDelegate getEntityNotFoundDelegate()
- Specified by:
getEntityNotFoundDelegate
in interfaceSessionFactoryImplementor
-
getSqlFunctionRegistry
public SQLFunctionRegistry getSqlFunctionRegistry()
- Specified by:
getSqlFunctionRegistry
in interfaceSessionFactoryImplementor
-
getFetchProfile
public FetchProfile getFetchProfile(String name)
Description copied from interface:SessionFactoryImplementor
Retrieve fetch profile by name.- Specified by:
getFetchProfile
in interfaceSessionFactoryImplementor
- Parameters:
name
- The name of the profile to retrieve.- Returns:
- The profile definition
-
getServiceRegistry
public ServiceRegistryImplementor getServiceRegistry()
Description copied from interface:SessionFactoryImplementor
Access to the ServiceRegistry for this SessionFactory.- Specified by:
getServiceRegistry
in interfaceSessionFactoryImplementor
- Returns:
- The factory's ServiceRegistry
-
addObserver
public void addObserver(SessionFactoryObserver observer)
- Specified by:
addObserver
in interfaceSessionFactoryImplementor
-
getCustomEntityDirtinessStrategy
public CustomEntityDirtinessStrategy getCustomEntityDirtinessStrategy()
- Specified by:
getCustomEntityDirtinessStrategy
in interfaceSessionFactoryImplementor
-
getCurrentTenantIdentifierResolver
public CurrentTenantIdentifierResolver getCurrentTenantIdentifierResolver()
- Specified by:
getCurrentTenantIdentifierResolver
in interfaceSessionFactoryImplementor
-
getNamedQueryRepository
public NamedQueryRepository getNamedQueryRepository()
Description copied from interface:SessionFactoryImplementor
Provides access to the named query repository- Specified by:
getNamedQueryRepository
in interfaceSessionFactoryImplementor
- Returns:
- The repository for named query definitions
-
iterateEntityNameResolvers
public Iterable<EntityNameResolver> iterateEntityNameResolvers()
- Specified by:
iterateEntityNameResolvers
in interfaceSessionFactoryImplementor
-
locateEntityPersister
public EntityPersister locateEntityPersister(Class byClass)
- Specified by:
locateEntityPersister
in interfaceSessionFactoryImplementor
-
locateEntityPersister
public EntityPersister locateEntityPersister(String byName)
- Specified by:
locateEntityPersister
in interfaceSessionFactoryImplementor
-
getDeserializationResolver
public SessionFactoryImplementor.DeserializationResolver getDeserializationResolver()
- Specified by:
getDeserializationResolver
in interfaceSessionFactoryImplementor
-
getIdentifierGeneratorFactory
public IdentifierGeneratorFactory getIdentifierGeneratorFactory()
Description copied from interface:Mapping
Allow access to the id generator factory, though this is only needed/allowed from configuration.- Specified by:
getIdentifierGeneratorFactory
in interfaceMapping
- Returns:
- Access to the identifier generator factory
-
getIdentifierType
public Type getIdentifierType(String className) throws MappingException
- Specified by:
getIdentifierType
in interfaceMapping
- Throws:
MappingException
-
getIdentifierPropertyName
public String getIdentifierPropertyName(String className) throws MappingException
- Specified by:
getIdentifierPropertyName
in interfaceMapping
- Throws:
MappingException
-
getReferencedPropertyType
public Type getReferencedPropertyType(String className, String propertyName) throws MappingException
- Specified by:
getReferencedPropertyType
in interfaceMapping
- Throws:
MappingException
-
getUuid
public String getUuid()
Description copied from interface:SessionFactoryImplementor
Get the UUID for this SessionFactory. The value is generated as aUUID
, but kept as a String.- Specified by:
getUuid
in interfaceSessionFactoryImplementor
- Returns:
- The UUID for this SessionFactory.
- See Also:
SessionFactoryRegistry.getSessionFactory(java.lang.String)
-
getName
public String getName()
Description copied from interface:SessionFactoryImplementor
Access to the name (if one) assigned to the SessionFactory- Specified by:
getName
in interfaceSessionFactoryImplementor
- Returns:
- The name for the SessionFactory
-
getReference
public Reference getReference() throws NamingException
- Specified by:
getReference
in interfaceReferenceable
- Throws:
NamingException
-
findEntityGraphsByType
public <T> List<EntityGraph<? super T>> findEntityGraphsByType(Class<T> entityClass)
Description copied from interface:HibernateEntityManagerFactory
Find allEntityGraph
s associated with a given entity type.- Specified by:
findEntityGraphsByType
in interfaceHibernateEntityManagerFactory
- Parameters:
entityClass
- the entity type for which to find allEntityGraph
s.- Returns:
- A list of
EntityGraph
instances associated with the given entity type. The empty list is returned in case there are not entity graphs.
-
createEntityManager
public EntityManager createEntityManager()
- Specified by:
createEntityManager
in interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(Map map)
- Specified by:
createEntityManager
in interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(SynchronizationType synchronizationType)
- Specified by:
createEntityManager
in interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(SynchronizationType synchronizationType, Map map)
- Specified by:
createEntityManager
in interfaceEntityManagerFactory
-
getCriteriaBuilder
public CriteriaBuilder getCriteriaBuilder()
- Specified by:
getCriteriaBuilder
in interfaceEntityManagerFactory
-
getMetamodel
public MetamodelImplementor getMetamodel()
- Specified by:
getMetamodel
in interfaceEntityManagerFactory
- Specified by:
getMetamodel
in interfaceHibernateEntityManagerFactory
- Specified by:
getMetamodel
in interfaceSessionFactoryImplementor
-
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interfaceEntityManagerFactory
-
resolveParameterBindType
public Type resolveParameterBindType(Object bindValue)
- Specified by:
resolveParameterBindType
in interfaceQueryParameterBindingTypeResolver
-
resolveParameterBindType
public Type resolveParameterBindType(Class clazz)
- Specified by:
resolveParameterBindType
in interfaceQueryParameterBindingTypeResolver
-
-