Package io.dropwizard.hibernate.dual
Class DualSessionFactory
- java.lang.Object
-
- io.dropwizard.hibernate.dual.DualSessionFactory
-
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,Referenceable,javax.persistence.EntityManagerFactory,org.hibernate.jpa.HibernateEntityManagerFactory,org.hibernate.SessionFactory
public class DualSessionFactory extends Object implements org.hibernate.SessionFactory
Represents a wrapper/decorator class for a Hibernate session factory that can manage both a primary session factory and a read-only session factory.- Since:
- 2.1
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DualSessionFactory(org.hibernate.SessionFactory primary, org.hibernate.SessionFactory reader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> voidaddNamedEntityGraph(String graphName, javax.persistence.EntityGraph<T> entityGraph)voidaddNamedQuery(String name, javax.persistence.Query query)voidclose()booleancontainsFetchProfileDefinition(String name)javax.persistence.EntityManagercreateEntityManager()javax.persistence.EntityManagercreateEntityManager(Map map)javax.persistence.EntityManagercreateEntityManager(javax.persistence.SynchronizationType synchronizationType)javax.persistence.EntityManagercreateEntityManager(javax.persistence.SynchronizationType synchronizationType, Map map)org.hibernate.SessionFactorycurrent()<T> List<javax.persistence.EntityGraph<? super T>>findEntityGraphsByType(Class<T> entityClass)Map<String,org.hibernate.metadata.ClassMetadata>getAllClassMetadata()MapgetAllCollectionMetadata()org.hibernate.CachegetCache()org.hibernate.metadata.ClassMetadatagetClassMetadata(Class entityClass)org.hibernate.metadata.ClassMetadatagetClassMetadata(String entityName)org.hibernate.metadata.CollectionMetadatagetCollectionMetadata(String roleName)javax.persistence.criteria.CriteriaBuildergetCriteriaBuilder()org.hibernate.SessiongetCurrentSession()SetgetDefinedFilterNames()org.hibernate.engine.spi.FilterDefinitiongetFilterDefinition(String filterName)org.hibernate.MetamodelgetMetamodel()javax.persistence.PersistenceUnitUtilgetPersistenceUnitUtil()Map<String,Object>getProperties()ReferencegetReference()org.hibernate.boot.spi.SessionFactoryOptionsgetSessionFactoryOptions()org.hibernate.stat.StatisticsgetStatistics()org.hibernate.TypeHelpergetTypeHelper()booleanisClosed()booleanisOpen()org.hibernate.SessionopenSession()org.hibernate.StatelessSessionopenStatelessSession()org.hibernate.StatelessSessionopenStatelessSession(Connection connection)org.hibernate.SessionFactoryprepare(boolean readOnly)Activates either the primary or the reader session factory depending on the readOnly parameter.<T> Tunwrap(Class<T> cls)org.hibernate.SessionBuilderwithOptions()org.hibernate.StatelessSessionBuilderwithStatelessOptions()
-
-
-
Method Detail
-
prepare
public org.hibernate.SessionFactory prepare(boolean readOnly)
Activates either the primary or the reader session factory depending on the readOnly parameter.- Parameters:
readOnly-- Returns:
- the session factory in use
-
current
public org.hibernate.SessionFactory current()
-
createEntityManager
public javax.persistence.EntityManager createEntityManager()
- Specified by:
createEntityManagerin interfacejavax.persistence.EntityManagerFactory
-
createEntityManager
public javax.persistence.EntityManager createEntityManager(Map map)
- Specified by:
createEntityManagerin interfacejavax.persistence.EntityManagerFactory
-
createEntityManager
public javax.persistence.EntityManager createEntityManager(javax.persistence.SynchronizationType synchronizationType)
- Specified by:
createEntityManagerin interfacejavax.persistence.EntityManagerFactory
-
createEntityManager
public javax.persistence.EntityManager createEntityManager(javax.persistence.SynchronizationType synchronizationType, Map map)- Specified by:
createEntityManagerin interfacejavax.persistence.EntityManagerFactory
-
getCriteriaBuilder
public javax.persistence.criteria.CriteriaBuilder getCriteriaBuilder()
- Specified by:
getCriteriaBuilderin interfacejavax.persistence.EntityManagerFactory
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejavax.persistence.EntityManagerFactory
-
getProperties
public Map<String,Object> getProperties()
- Specified by:
getPropertiesin interfacejavax.persistence.EntityManagerFactory
-
getPersistenceUnitUtil
public javax.persistence.PersistenceUnitUtil getPersistenceUnitUtil()
- Specified by:
getPersistenceUnitUtilin interfacejavax.persistence.EntityManagerFactory
-
addNamedQuery
public void addNamedQuery(String name, javax.persistence.Query query)
- Specified by:
addNamedQueryin interfacejavax.persistence.EntityManagerFactory
-
unwrap
public <T> T unwrap(Class<T> cls)
- Specified by:
unwrapin interfacejavax.persistence.EntityManagerFactory
-
addNamedEntityGraph
public <T> void addNamedEntityGraph(String graphName, javax.persistence.EntityGraph<T> entityGraph)
- Specified by:
addNamedEntityGraphin interfacejavax.persistence.EntityManagerFactory
-
findEntityGraphsByType
public <T> List<javax.persistence.EntityGraph<? super T>> findEntityGraphsByType(Class<T> entityClass)
- Specified by:
findEntityGraphsByTypein interfaceorg.hibernate.jpa.HibernateEntityManagerFactory
-
getMetamodel
public org.hibernate.Metamodel getMetamodel()
- Specified by:
getMetamodelin interfacejavax.persistence.EntityManagerFactory- Specified by:
getMetamodelin interfaceorg.hibernate.jpa.HibernateEntityManagerFactory
-
getReference
public Reference getReference() throws NamingException
- Specified by:
getReferencein interfaceReferenceable- Throws:
NamingException
-
getSessionFactoryOptions
public org.hibernate.boot.spi.SessionFactoryOptions getSessionFactoryOptions()
- Specified by:
getSessionFactoryOptionsin interfaceorg.hibernate.SessionFactory
-
withOptions
public org.hibernate.SessionBuilder withOptions()
- Specified by:
withOptionsin interfaceorg.hibernate.SessionFactory
-
openSession
public org.hibernate.Session openSession() throws org.hibernate.HibernateException- Specified by:
openSessionin interfaceorg.hibernate.SessionFactory- Throws:
org.hibernate.HibernateException
-
getCurrentSession
public org.hibernate.Session getCurrentSession() throws org.hibernate.HibernateException- Specified by:
getCurrentSessionin interfaceorg.hibernate.SessionFactory- Throws:
org.hibernate.HibernateException
-
withStatelessOptions
public org.hibernate.StatelessSessionBuilder withStatelessOptions()
- Specified by:
withStatelessOptionsin interfaceorg.hibernate.SessionFactory
-
openStatelessSession
public org.hibernate.StatelessSession openStatelessSession()
- Specified by:
openStatelessSessionin interfaceorg.hibernate.SessionFactory
-
openStatelessSession
public org.hibernate.StatelessSession openStatelessSession(Connection connection)
- Specified by:
openStatelessSessionin interfaceorg.hibernate.SessionFactory
-
getStatistics
public org.hibernate.stat.Statistics getStatistics()
- Specified by:
getStatisticsin interfaceorg.hibernate.SessionFactory
-
close
public void close() throws org.hibernate.HibernateException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfacejavax.persistence.EntityManagerFactory- Specified by:
closein interfaceorg.hibernate.SessionFactory- Throws:
org.hibernate.HibernateException
-
isClosed
public boolean isClosed()
- Specified by:
isClosedin interfaceorg.hibernate.SessionFactory
-
getCache
public org.hibernate.Cache getCache()
- Specified by:
getCachein interfacejavax.persistence.EntityManagerFactory- Specified by:
getCachein interfaceorg.hibernate.SessionFactory
-
getDefinedFilterNames
public Set getDefinedFilterNames()
- Specified by:
getDefinedFilterNamesin interfaceorg.hibernate.SessionFactory
-
getFilterDefinition
public org.hibernate.engine.spi.FilterDefinition getFilterDefinition(String filterName) throws org.hibernate.HibernateException
- Specified by:
getFilterDefinitionin interfaceorg.hibernate.SessionFactory- Throws:
org.hibernate.HibernateException
-
containsFetchProfileDefinition
public boolean containsFetchProfileDefinition(String name)
- Specified by:
containsFetchProfileDefinitionin interfaceorg.hibernate.SessionFactory
-
getTypeHelper
public org.hibernate.TypeHelper getTypeHelper()
- Specified by:
getTypeHelperin interfaceorg.hibernate.SessionFactory
-
getClassMetadata
public org.hibernate.metadata.ClassMetadata getClassMetadata(Class entityClass)
- Specified by:
getClassMetadatain interfaceorg.hibernate.SessionFactory
-
getClassMetadata
public org.hibernate.metadata.ClassMetadata getClassMetadata(String entityName)
- Specified by:
getClassMetadatain interfaceorg.hibernate.SessionFactory
-
getCollectionMetadata
public org.hibernate.metadata.CollectionMetadata getCollectionMetadata(String roleName)
- Specified by:
getCollectionMetadatain interfaceorg.hibernate.SessionFactory
-
getAllClassMetadata
public Map<String,org.hibernate.metadata.ClassMetadata> getAllClassMetadata()
- Specified by:
getAllClassMetadatain interfaceorg.hibernate.SessionFactory
-
getAllCollectionMetadata
public Map getAllCollectionMetadata()
- Specified by:
getAllCollectionMetadatain interfaceorg.hibernate.SessionFactory
-
-