Package io.dropwizard.hibernate.dual
Class DualSessionFactory
- java.lang.Object
-
- io.dropwizard.hibernate.dual.DualSessionFactory
-
- All Implemented Interfaces:
jakarta.persistence.EntityManagerFactory,Closeable,Serializable,AutoCloseable,Referenceable,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, jakarta.persistence.EntityGraph<T> entityGraph)voidaddNamedQuery(String name, jakarta.persistence.Query query)voidclose()booleancontainsFetchProfileDefinition(String name)jakarta.persistence.EntityManagercreateEntityManager()jakarta.persistence.EntityManagercreateEntityManager(jakarta.persistence.SynchronizationType synchronizationType)jakarta.persistence.EntityManagercreateEntityManager(jakarta.persistence.SynchronizationType synchronizationType, Map map)jakarta.persistence.EntityManagercreateEntityManager(Map map)org.hibernate.SessionFactorycurrent()<T> List<jakarta.persistence.EntityGraph<? super T>>findEntityGraphsByType(Class<T> entityClass)<R> RfromSession(Function<org.hibernate.Session,R> action)<R> RfromTransaction(Function<org.hibernate.Session,R> action)org.hibernate.CachegetCache()jakarta.persistence.criteria.CriteriaBuildergetCriteriaBuilder()org.hibernate.SessiongetCurrentSession()SetgetDefinedFilterNames()org.hibernate.engine.spi.FilterDefinitiongetFilterDefinition(String filterName)jakarta.persistence.metamodel.MetamodelgetMetamodel()jakarta.persistence.PersistenceUnitUtilgetPersistenceUnitUtil()Map<String,Object>getProperties()ReferencegetReference()org.hibernate.boot.spi.SessionFactoryOptionsgetSessionFactoryOptions()org.hibernate.stat.StatisticsgetStatistics()voidinSession(Consumer<org.hibernate.Session> action)voidinTransaction(Consumer<org.hibernate.Session> action)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 jakarta.persistence.EntityManager createEntityManager()
- Specified by:
createEntityManagerin interfacejakarta.persistence.EntityManagerFactory
-
createEntityManager
public jakarta.persistence.EntityManager createEntityManager(Map map)
- Specified by:
createEntityManagerin interfacejakarta.persistence.EntityManagerFactory
-
createEntityManager
public jakarta.persistence.EntityManager createEntityManager(jakarta.persistence.SynchronizationType synchronizationType)
- Specified by:
createEntityManagerin interfacejakarta.persistence.EntityManagerFactory
-
createEntityManager
public jakarta.persistence.EntityManager createEntityManager(jakarta.persistence.SynchronizationType synchronizationType, Map map)- Specified by:
createEntityManagerin interfacejakarta.persistence.EntityManagerFactory
-
getCriteriaBuilder
public jakarta.persistence.criteria.CriteriaBuilder getCriteriaBuilder()
- Specified by:
getCriteriaBuilderin interfacejakarta.persistence.EntityManagerFactory
-
getMetamodel
public jakarta.persistence.metamodel.Metamodel getMetamodel()
- Specified by:
getMetamodelin interfacejakarta.persistence.EntityManagerFactory
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejakarta.persistence.EntityManagerFactory
-
getProperties
public Map<String,Object> getProperties()
- Specified by:
getPropertiesin interfacejakarta.persistence.EntityManagerFactory
-
getPersistenceUnitUtil
public jakarta.persistence.PersistenceUnitUtil getPersistenceUnitUtil()
- Specified by:
getPersistenceUnitUtilin interfacejakarta.persistence.EntityManagerFactory
-
addNamedQuery
public void addNamedQuery(String name, jakarta.persistence.Query query)
- Specified by:
addNamedQueryin interfacejakarta.persistence.EntityManagerFactory
-
unwrap
public <T> T unwrap(Class<T> cls)
- Specified by:
unwrapin interfacejakarta.persistence.EntityManagerFactory
-
addNamedEntityGraph
public <T> void addNamedEntityGraph(String graphName, jakarta.persistence.EntityGraph<T> entityGraph)
- Specified by:
addNamedEntityGraphin interfacejakarta.persistence.EntityManagerFactory
-
findEntityGraphsByType
public <T> List<jakarta.persistence.EntityGraph<? super T>> findEntityGraphsByType(Class<T> entityClass)
- Specified by:
findEntityGraphsByTypein interfaceorg.hibernate.SessionFactory
-
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
-
inSession
public void inSession(Consumer<org.hibernate.Session> action)
- Specified by:
inSessionin interfaceorg.hibernate.SessionFactory
-
inTransaction
public void inTransaction(Consumer<org.hibernate.Session> action)
- Specified by:
inTransactionin interfaceorg.hibernate.SessionFactory
-
fromSession
public <R> R fromSession(Function<org.hibernate.Session,R> action)
- Specified by:
fromSessionin interfaceorg.hibernate.SessionFactory
-
fromTransaction
public <R> R fromTransaction(Function<org.hibernate.Session,R> action)
- Specified by:
fromTransactionin 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 interfacejakarta.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 interfacejakarta.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
-
-