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
-
Methods inherited from interface org.hibernate.engine.spi.SessionFactoryImplementor
findEntityGraphsByType
-
-
-
-
Constructor Detail
-
SessionFactoryDelegatingImpl
public SessionFactoryDelegatingImpl(SessionFactoryImplementor delegate)
-
-
Method Detail
-
delegate
protected SessionFactoryImplementor delegate()
-
getSessionFactoryOptions
public SessionFactoryOptions getSessionFactoryOptions()
Description copied from interface:SessionFactoryGet the special options used to build the factory.- Specified by:
getSessionFactoryOptionsin interfaceSessionFactory- Returns:
- The special options used to build the factory.
-
withOptions
public SessionBuilderImplementor withOptions()
Description copied from interface:SessionFactoryObtain aSessionbuilder.- Specified by:
withOptionsin interfaceSessionFactory- Specified by:
withOptionsin interfaceSessionFactoryImplementor- Returns:
- The session builder
-
openSession
public Session openSession() throws HibernateException
Description copied from interface:SessionFactoryOpen aSession. JDBCconnection(swill be obtained from the configuredConnectionProvideras needed to perform requested work.- Specified by:
openSessionin 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:SessionFactoryObtains the current session. The definition of what exactly "current" means controlled by theCurrentSessionContextimpl configured for use. Note that for backwards compatibility, if aCurrentSessionContextis not configured but JTA is configured this will default to theJTASessionContextimpl.- Specified by:
getCurrentSessionin interfaceSessionFactory- Returns:
- The current session.
- Throws:
HibernateException- Indicates an issue locating a suitable current session.
-
withStatelessOptions
public StatelessSessionBuilder withStatelessOptions()
Description copied from interface:SessionFactoryObtain aStatelessSessionbuilder.- Specified by:
withStatelessOptionsin interfaceSessionFactory- Returns:
- The stateless session builder
-
openStatelessSession
public StatelessSession openStatelessSession()
Description copied from interface:SessionFactoryOpen a new stateless session.- Specified by:
openStatelessSessionin interfaceSessionFactory- Returns:
- The created stateless session.
-
openStatelessSession
public StatelessSession openStatelessSession(Connection connection)
Description copied from interface:SessionFactoryOpen a new stateless session, utilizing the specified JDBCConnection.- Specified by:
openStatelessSessionin interfaceSessionFactory- Parameters:
connection- Connection provided by the application.- Returns:
- The created stateless session.
-
getClassMetadata
public ClassMetadata getClassMetadata(Class entityClass)
Description copied from interface:SessionFactoryRetrieve theClassMetadataassociated with the given entity class.- Specified by:
getClassMetadatain 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:SessionFactoryRetrieve theClassMetadataassociated with the given entity class.- Specified by:
getClassMetadatain 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:SessionFactoryGet theCollectionMetadataassociated with the named collection role.- Specified by:
getCollectionMetadatain 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:SessionFactoryRetrieve theClassMetadatafor all mapped entities.- Specified by:
getAllClassMetadatain interfaceSessionFactory- Returns:
- A map containing all
ClassMetadatakeyed by the correspondingStringentity-name.
-
getAllCollectionMetadata
public Map getAllCollectionMetadata()
Description copied from interface:SessionFactoryGet theCollectionMetadatafor all mapped collections.- Specified by:
getAllCollectionMetadatain interfaceSessionFactory- Returns:
- a map from String to CollectionMetadata
-
getStatistics
public StatisticsImplementor getStatistics()
Description copied from interface:SessionFactoryRetrieve the statistics for this factory.- Specified by:
getStatisticsin interfaceSessionFactory- Specified by:
getStatisticsin interfaceSessionFactoryImplementor- Returns:
- The statistics.
-
getEventEngine
public EventEngine getEventEngine()
Description copied from interface:SessionFactoryImplementorGet the EventEngine associated with this SessionFactory- Specified by:
getEventEnginein interfaceSessionFactoryImplementor
-
close
public void close() throws HibernateExceptionDescription copied from interface:SessionFactoryDestroy this SessionFactory and release all resources (caches, connection pools, etc). It is the responsibility of the application to ensure that there are no opensessionsbefore calling this method as the impact on thosesessionsis indeterminate. No-ops if alreadyclosed.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceEntityManagerFactory- Specified by:
closein interfaceSessionFactory- Throws:
HibernateException- Indicates an issue closing the factory.
-
isClosed
public boolean isClosed()
Description copied from interface:SessionFactoryIs this factory already closed?- Specified by:
isClosedin interfaceSessionFactory- Returns:
- True if this factory is already closed; false otherwise.
-
getCache
public CacheImplementor getCache()
Description copied from interface:SessionFactoryObtain direct access to the underlying cache regions.- Specified by:
getCachein interfaceEntityManagerFactory- Specified by:
getCachein interfaceSessionFactory- Specified by:
getCachein interfaceSessionFactoryImplementor- Returns:
- The direct cache access API.
-
getPersistenceUnitUtil
public PersistenceUnitUtil getPersistenceUnitUtil()
- Specified by:
getPersistenceUnitUtilin interfaceEntityManagerFactory
-
addNamedQuery
public void addNamedQuery(String name, Query query)
- Specified by:
addNamedQueryin interfaceEntityManagerFactory
-
unwrap
public <T> T unwrap(Class<T> cls)
- Specified by:
unwrapin interfaceEntityManagerFactory
-
addNamedEntityGraph
public <T> void addNamedEntityGraph(String graphName, EntityGraph<T> entityGraph)
- Specified by:
addNamedEntityGraphin interfaceEntityManagerFactory
-
getDefinedFilterNames
public Set getDefinedFilterNames()
Description copied from interface:SessionFactoryObtain a set of the names of all filters defined on this SessionFactory.- Specified by:
getDefinedFilterNamesin interfaceSessionFactory- Returns:
- The set of filter names.
-
getFilterDefinition
public FilterDefinition getFilterDefinition(String filterName) throws HibernateException
Description copied from interface:SessionFactoryObtain the definition of a filter by name.- Specified by:
getFilterDefinitionin 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:SessionFactoryDetermine if this session factory contains a fetch profile definition registered under the given name.- Specified by:
containsFetchProfileDefinitionin 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:SessionFactoryRetrieve this factory'sTypeHelper.- Specified by:
getTypeHelperin 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 theTyperesolver associated with this factory.- Specified by:
getTypeResolverin interfaceSessionFactoryImplementor- Returns:
- The type resolver
-
getProperties
public Map<String,Object> getProperties()
- Specified by:
getPropertiesin interfaceEntityManagerFactory
-
getEntityPersister
public EntityPersister getEntityPersister(String entityName) throws MappingException
- Specified by:
getEntityPersisterin interfaceSessionFactoryImplementor- Throws:
MappingException
-
getEntityPersisters
public Map<String,EntityPersister> getEntityPersisters()
- Specified by:
getEntityPersistersin interfaceSessionFactoryImplementor
-
getCollectionPersister
public CollectionPersister getCollectionPersister(String role) throws MappingException
- Specified by:
getCollectionPersisterin interfaceSessionFactoryImplementor- Throws:
MappingException
-
getCollectionPersisters
public Map<String,CollectionPersister> getCollectionPersisters()
- Specified by:
getCollectionPersistersin interfaceSessionFactoryImplementor
-
getJdbcServices
public JdbcServices getJdbcServices()
Description copied from interface:SessionFactoryImplementorGet the JdbcServices.- Specified by:
getJdbcServicesin interfaceSessionFactoryImplementor- Returns:
- the JdbcServices
-
getSqlStringGenerationContext
public SqlStringGenerationContext getSqlStringGenerationContext()
- Specified by:
getSqlStringGenerationContextin interfaceSessionFactoryImplementor
-
getDialect
public Dialect getDialect()
Description copied from interface:SessionFactoryImplementorGet the SQL dialect. Shorthand forgetJdbcServices().getDialect()- Specified by:
getDialectin interfaceSessionFactoryImplementor- Returns:
- The dialect
-
getInterceptor
public Interceptor getInterceptor()
Description copied from interface:SessionFactoryImplementorGet the factory scoped interceptor for this factory.- Specified by:
getInterceptorin interfaceSessionFactoryImplementor- Returns:
- The factory scope interceptor, or null if none.
-
getQueryPlanCache
public QueryPlanCache getQueryPlanCache()
Description copied from interface:SessionFactoryImplementorAccess to the caches of HQL/JPQL and native query plans.- Specified by:
getQueryPlanCachein interfaceSessionFactoryImplementor- Returns:
- The query plan cache
-
getReturnTypes
public Type[] getReturnTypes(String queryString) throws HibernateException
Description copied from interface:SessionFactoryImplementorGet the return types of a query- Specified by:
getReturnTypesin interfaceSessionFactoryImplementor- Throws:
HibernateException
-
getReturnAliases
public String[] getReturnAliases(String queryString) throws HibernateException
Description copied from interface:SessionFactoryImplementorGet the return aliases of a query- Specified by:
getReturnAliasesin interfaceSessionFactoryImplementor- Throws:
HibernateException
-
getImplementors
public String[] getImplementors(String className) throws MappingException
Description copied from interface:SessionFactoryImplementorGet the names of all persistent classes that implement/extend the given interface/class- Specified by:
getImplementorsin interfaceSessionFactoryImplementor- Throws:
MappingException
-
getImportedClassName
public String getImportedClassName(String name)
Description copied from interface:SessionFactoryImplementorGet a class name, using query language imports- Specified by:
getImportedClassNamein interfaceSessionFactoryImplementor
-
findEntityGraphByName
public RootGraphImplementor findEntityGraphByName(String name)
- Specified by:
findEntityGraphByNamein interfaceSessionFactoryImplementor
-
getStatisticsImplementor
public StatisticsImplementor getStatisticsImplementor()
- Specified by:
getStatisticsImplementorin interfaceSessionFactoryImplementor
-
getNamedQuery
public NamedQueryDefinition getNamedQuery(String queryName)
- Specified by:
getNamedQueryin interfaceSessionFactoryImplementor
-
registerNamedQueryDefinition
public void registerNamedQueryDefinition(String name, NamedQueryDefinition definition)
- Specified by:
registerNamedQueryDefinitionin interfaceSessionFactoryImplementor
-
getNamedSQLQuery
public NamedSQLQueryDefinition getNamedSQLQuery(String queryName)
- Specified by:
getNamedSQLQueryin interfaceSessionFactoryImplementor
-
registerNamedSQLQueryDefinition
public void registerNamedSQLQueryDefinition(String name, NamedSQLQueryDefinition definition)
- Specified by:
registerNamedSQLQueryDefinitionin interfaceSessionFactoryImplementor
-
getResultSetMapping
public ResultSetMappingDefinition getResultSetMapping(String name)
- Specified by:
getResultSetMappingin interfaceSessionFactoryImplementor
-
getIdentifierGenerator
public IdentifierGenerator getIdentifierGenerator(String rootEntityName)
Description copied from interface:SessionFactoryImplementorGet the identifier generator for the hierarchy- Specified by:
getIdentifierGeneratorin interfaceSessionFactoryImplementor
-
getSQLExceptionConverter
public SQLExceptionConverter getSQLExceptionConverter()
Description copied from interface:SessionFactoryImplementorRetrieves the SQLExceptionConverter in effect for this SessionFactory.- Specified by:
getSQLExceptionConverterin interfaceSessionFactoryImplementor- Returns:
- The SQLExceptionConverter for this SessionFactory.
-
getSQLExceptionHelper
public SqlExceptionHelper getSQLExceptionHelper()
Description copied from interface:SessionFactoryImplementorRetrieves the SqlExceptionHelper in effect for this SessionFactory.- Specified by:
getSQLExceptionHelperin interfaceSessionFactoryImplementor- Returns:
- The SqlExceptionHelper for this SessionFactory.
-
getSettings
public Settings getSettings()
- Specified by:
getSettingsin interfaceSessionFactoryImplementor
-
openTemporarySession
public Session openTemporarySession() throws HibernateException
Description copied from interface:SessionFactoryImplementorGet a non-transactional "current" session (used by hibernate-envers)- Specified by:
openTemporarySessionin interfaceSessionFactoryImplementor- Throws:
HibernateException
-
getCollectionRolesByEntityParticipant
public Set<String> getCollectionRolesByEntityParticipant(String entityName)
- Specified by:
getCollectionRolesByEntityParticipantin 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:
getEntityNotFoundDelegatein interfaceSessionFactoryImplementor
-
getSqlFunctionRegistry
public SQLFunctionRegistry getSqlFunctionRegistry()
- Specified by:
getSqlFunctionRegistryin interfaceSessionFactoryImplementor
-
getFetchProfile
public FetchProfile getFetchProfile(String name)
Description copied from interface:SessionFactoryImplementorRetrieve fetch profile by name.- Specified by:
getFetchProfilein interfaceSessionFactoryImplementor- Parameters:
name- The name of the profile to retrieve.- Returns:
- The profile definition
-
getServiceRegistry
public ServiceRegistryImplementor getServiceRegistry()
Description copied from interface:SessionFactoryImplementorAccess to the ServiceRegistry for this SessionFactory.- Specified by:
getServiceRegistryin interfaceSessionFactoryImplementor- Returns:
- The factory's ServiceRegistry
-
addObserver
public void addObserver(SessionFactoryObserver observer)
- Specified by:
addObserverin interfaceSessionFactoryImplementor
-
getCustomEntityDirtinessStrategy
public CustomEntityDirtinessStrategy getCustomEntityDirtinessStrategy()
- Specified by:
getCustomEntityDirtinessStrategyin interfaceSessionFactoryImplementor
-
getCurrentTenantIdentifierResolver
public CurrentTenantIdentifierResolver getCurrentTenantIdentifierResolver()
- Specified by:
getCurrentTenantIdentifierResolverin interfaceSessionFactoryImplementor
-
getNamedQueryRepository
public NamedQueryRepository getNamedQueryRepository()
Description copied from interface:SessionFactoryImplementorProvides access to the named query repository- Specified by:
getNamedQueryRepositoryin interfaceSessionFactoryImplementor- Returns:
- The repository for named query definitions
-
iterateEntityNameResolvers
public Iterable<EntityNameResolver> iterateEntityNameResolvers()
- Specified by:
iterateEntityNameResolversin interfaceSessionFactoryImplementor
-
getFastSessionServices
public org.hibernate.internal.FastSessionServices getFastSessionServices()
- Specified by:
getFastSessionServicesin interfaceSessionFactoryImplementor- Returns:
- the FastSessionServices instance associated with this SessionFactory
-
locateEntityPersister
public EntityPersister locateEntityPersister(Class byClass)
- Specified by:
locateEntityPersisterin interfaceSessionFactoryImplementor
-
locateEntityPersister
public EntityPersister locateEntityPersister(String byName)
- Specified by:
locateEntityPersisterin interfaceSessionFactoryImplementor
-
getDeserializationResolver
public SessionFactoryImplementor.DeserializationResolver getDeserializationResolver()
- Specified by:
getDeserializationResolverin interfaceSessionFactoryImplementor
-
getIdentifierGeneratorFactory
public IdentifierGeneratorFactory getIdentifierGeneratorFactory()
Description copied from interface:MappingAllow access to the id generator factory, though this is only needed/allowed from configuration.- Specified by:
getIdentifierGeneratorFactoryin interfaceMapping- Returns:
- Access to the identifier generator factory
-
getIdentifierType
public Type getIdentifierType(String className) throws MappingException
- Specified by:
getIdentifierTypein interfaceMapping- Throws:
MappingException
-
getIdentifierPropertyName
public String getIdentifierPropertyName(String className) throws MappingException
- Specified by:
getIdentifierPropertyNamein interfaceMapping- Throws:
MappingException
-
getReferencedPropertyType
public Type getReferencedPropertyType(String className, String propertyName) throws MappingException
- Specified by:
getReferencedPropertyTypein interfaceMapping- Throws:
MappingException
-
getUuid
public String getUuid()
Description copied from interface:SessionFactoryImplementorGet the UUID for this SessionFactory. The value is generated as aUUID, but kept as a String.- Specified by:
getUuidin interfaceSessionFactoryImplementor- Returns:
- The UUID for this SessionFactory.
- See Also:
SessionFactoryRegistry.getSessionFactory(java.lang.String)
-
getName
public String getName()
Description copied from interface:SessionFactoryImplementorAccess to the name (if one) assigned to the SessionFactory- Specified by:
getNamein interfaceSessionFactoryImplementor- Returns:
- The name for the SessionFactory
-
getReference
public Reference getReference() throws NamingException
- Specified by:
getReferencein interfaceReferenceable- Throws:
NamingException
-
findEntityGraphsByJavaType
public <T> List<RootGraphImplementor<? super T>> findEntityGraphsByJavaType(Class<T> entityClass)
- Specified by:
findEntityGraphsByJavaTypein interfaceSessionFactoryImplementor
-
createEntityManager
public EntityManager createEntityManager()
- Specified by:
createEntityManagerin interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(Map map)
- Specified by:
createEntityManagerin interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(SynchronizationType synchronizationType)
- Specified by:
createEntityManagerin interfaceEntityManagerFactory
-
createEntityManager
public EntityManager createEntityManager(SynchronizationType synchronizationType, Map map)
- Specified by:
createEntityManagerin interfaceEntityManagerFactory
-
getCriteriaBuilder
public CriteriaBuilder getCriteriaBuilder()
- Specified by:
getCriteriaBuilderin interfaceEntityManagerFactory
-
getMetamodel
public MetamodelImplementor getMetamodel()
- Specified by:
getMetamodelin interfaceEntityManagerFactory- Specified by:
getMetamodelin interfaceHibernateEntityManagerFactory- Specified by:
getMetamodelin interfaceSessionFactoryImplementor
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfaceEntityManagerFactory
-
resolveParameterBindType
public Type resolveParameterBindType(Object bindValue)
- Specified by:
resolveParameterBindTypein interfaceQueryParameterBindingTypeResolver
-
resolveParameterBindType
public Type resolveParameterBindType(Class clazz)
- Specified by:
resolveParameterBindTypein interfaceQueryParameterBindingTypeResolver
-
-