public static interface Mutiny.SessionFactory
extends java.lang.AutoCloseable
reactive sessions
.
A Mutiny.SessionFactory
may be obtained from an instance of
EntityManagerFactory
as follows:
Mutiny.SessionFactory sessionFactory = createEntityManagerFactory("example") .unwrap(Mutiny.SessionFactory.class);Here, configuration properties must be specified in
persistence.xml
.
Alternatively, a Mutiny.SessionFactory
may be obtained via
programmatic configuration of Hibernate using:
Configuration configuration = new Configuration(); ... Mutiny.SessionFactory sessionFactory = configuration.buildSessionFactory( new ReactiveServiceRegistryBuilder() .applySettings( configuration.getProperties() ) .build() ) .unwrap(Mutiny.SessionFactory.class);
Modifier and Type | Method and Description |
---|---|
void |
close()
Destroy the session factory and clean up its connection pool.
|
org.hibernate.Cache |
getCache()
Obtain the
Cache object for managing the second-level
cache. |
javax.persistence.criteria.CriteriaBuilder |
getCriteriaBuilder() |
javax.persistence.metamodel.Metamodel |
getMetamodel()
Obtain the JPA
Metamodel for the persistence unit. |
boolean |
isOpen() |
Mutiny.Session |
openSession()
Obtain a new
reactive session , the main
interaction point between the user's program and Hibernate
Reactive. |
Mutiny.Session |
openSession(java.lang.String tenantId)
Obtain a new
reactive session for a
specified tenant. |
Mutiny.StatelessSession |
openStatelessSession()
Obtain a
reactive stateless session . |
Mutiny.StatelessSession |
openStatelessSession(java.lang.String tenantId)
Obtain a
reactive stateless session . |
<T> io.smallrye.mutiny.Uni<T> |
withSession(java.util.function.Function<Mutiny.Session,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session . |
<T> io.smallrye.mutiny.Uni<T> |
withSession(java.lang.String tenantId,
java.util.function.Function<Mutiny.Session,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session for
a specified tenant. |
<T> io.smallrye.mutiny.Uni<T> |
withStatelessSession(java.util.function.Function<Mutiny.StatelessSession,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
stateless session . |
<T> io.smallrye.mutiny.Uni<T> |
withStatelessSession(java.lang.String tenantId,
java.util.function.Function<Mutiny.StatelessSession,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
stateless session . |
<T> io.smallrye.mutiny.Uni<T> |
withStatelessTransaction(java.util.function.BiFunction<Mutiny.StatelessSession,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session within an
associated transaction . |
<T> io.smallrye.mutiny.Uni<T> |
withStatelessTransaction(java.lang.String tenantId,
java.util.function.BiFunction<Mutiny.StatelessSession,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session for a
specified tenant within an associated transaction . |
<T> io.smallrye.mutiny.Uni<T> |
withTransaction(java.util.function.BiFunction<Mutiny.Session,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session within an
associated transaction . |
<T> io.smallrye.mutiny.Uni<T> |
withTransaction(java.lang.String tenantId,
java.util.function.BiFunction<Mutiny.Session,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
Perform work using a
reactive session for a
specified tenant within an associated transaction . |
Mutiny.Session openSession()
reactive session
, the main
interaction point between the user's program and Hibernate
Reactive.
The underlying database connection is obtained lazily when
the returned Mutiny.Session
needs to access the database.
The client must explicitly close the session by calling
Mutiny.Session.close()
.
withSession(Function)
Mutiny.Session openSession(java.lang.String tenantId)
reactive session
for a
specified tenant.
The underlying database connection is obtained lazily when
the returned Mutiny.Session
needs to access the database.
The client must explicitly close the session by calling
Mutiny.Session.close()
.
tenantId
- the id of the tenantwithSession(Function)
Mutiny.StatelessSession openStatelessSession()
reactive stateless session
.
The underlying database connection is obtained lazily when
the returned Mutiny.StatelessSession
needs to access the
database.
The client must explicitly close the session by calling
Mutiny.StatelessSession.close()
.
Mutiny.StatelessSession openStatelessSession(java.lang.String tenantId)
reactive stateless session
.
The underlying database connection is obtained lazily when
the returned Mutiny.StatelessSession
needs to access the
database.
The client must explicitly close the session by calling
Mutiny.StatelessSession.close()
.
tenantId
- the id of the tenant<T> io.smallrye.mutiny.Uni<T> withSession(java.util.function.Function<Mutiny.Session,io.smallrye.mutiny.Uni<T>> work)
reactive session
.
The session will be closed automatically, but must be flushed explicitly if necessary.
work
- a function which accepts the session and returns
the result of the work as a Uni
.<T> io.smallrye.mutiny.Uni<T> withSession(java.lang.String tenantId, java.util.function.Function<Mutiny.Session,io.smallrye.mutiny.Uni<T>> work)
reactive session
for
a specified tenant.
The session will be closed automatically, but must be flushed explicitly if necessary.
tenantId
- the id of the tenantwork
- a function which accepts the session and returns
the result of the work as a Uni
.<T> io.smallrye.mutiny.Uni<T> withTransaction(java.util.function.BiFunction<Mutiny.Session,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
reactive session
within an
associated transaction
.
The session will be flushed
and closed
automatically, and the transaction committed automatically.
work
- a function which accepts the session and returns
the result of the work as a Uni
.withSession(Function)
,
Mutiny.Session.withTransaction(Function)
<T> io.smallrye.mutiny.Uni<T> withStatelessTransaction(java.util.function.BiFunction<Mutiny.StatelessSession,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
reactive session
within an
associated transaction
.
The session will be closed automatically and the transaction committed automatically.
work
- a function which accepts the stateless session and returns
the result of the work as a Uni
.withStatelessSession(Function)
,
Mutiny.StatelessSession.withTransaction(Function)
<T> io.smallrye.mutiny.Uni<T> withStatelessSession(java.util.function.Function<Mutiny.StatelessSession,io.smallrye.mutiny.Uni<T>> work)
stateless session
.
The session will be closed automatically.
work
- a function which accepts the session and returns
the result of the work as a Uni
.<T> io.smallrye.mutiny.Uni<T> withStatelessSession(java.lang.String tenantId, java.util.function.Function<Mutiny.StatelessSession,io.smallrye.mutiny.Uni<T>> work)
stateless session
.
The session will be closed automatically.
tenantId
- the id of the tenantwork
- a function which accepts the session and returns
the result of the work as a Uni
.<T> io.smallrye.mutiny.Uni<T> withTransaction(java.lang.String tenantId, java.util.function.BiFunction<Mutiny.Session,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
reactive session
for a
specified tenant within an associated transaction
.
The session will be flushed
and closed
automatically, and the transaction committed automatically.
tenantId
- the id of the tenantwork
- a function which accepts the session and returns
the result of the work as a Uni
.withSession(String, Function)
,
Mutiny.Session.withTransaction(Function)
<T> io.smallrye.mutiny.Uni<T> withStatelessTransaction(java.lang.String tenantId, java.util.function.BiFunction<Mutiny.StatelessSession,Mutiny.Transaction,io.smallrye.mutiny.Uni<T>> work)
reactive session
for a
specified tenant within an associated transaction
.
The session will be closed automatically and the transaction committed automatically.
tenantId
- the id of the tenantwork
- a function which accepts the stateless session and returns
the result of the work as a Uni
.withStatelessSession(String, Function)
,
Mutiny.StatelessSession.withTransaction(Function)
javax.persistence.criteria.CriteriaBuilder getCriteriaBuilder()
CriteriaBuilder
for creating
criteria queries.javax.persistence.metamodel.Metamodel getMetamodel()
Metamodel
for the persistence unit.org.hibernate.Cache getCache()
Cache
object for managing the second-level
cache.void close()
close
in interface java.lang.AutoCloseable
boolean isOpen()
close()
has been called