public class ManagedSessionContext extends AbstractCurrentSessionContext
CurrentSessionContext the notion of a contextual session
is managed by some external entity (generally some form of interceptor, etc).
This external manager is responsible for scoping these contextual sessions
appropriately binding/unbinding them here for exposure to the application
through SessionFactory.getCurrentSession() calls.
Basically exposes two interfaces. SessionFactory.getCurrentSession() calls. This
portion is instance-based specific to the session factory owning the given
instance of this impl (there will be one instance of this per each session
factory using this strategy).
hasBind(org.hibernate.SessionFactory), bind(org.hibernate.Session),
and unbind(org.hibernate.SessionFactory) used by the external thing to manage exposure of the
current session it is scoping. This portion is static to allow easy
reference from that external thing.
ThreadLocal-based map where the sessions are keyed by the
the owning session factory.| Constructor and Description |
|---|
ManagedSessionContext(SessionFactoryImplementor factory) |
| Modifier and Type | Method and Description |
|---|---|
static Session |
bind(Session session)
Binds the given session to the current context for its session factory.
|
Session |
currentSession()
Retrieve the current session according to the scoping defined
by this implementation.
|
static boolean |
hasBind(SessionFactory factory)
Check to see if there is already a session associated with the current
thread for the given session factory.
|
protected static Map<SessionFactory,Session> |
sessionMap() |
static Session |
unbind(SessionFactory factory)
Unbinds the session (if one) current associated with the context for the
given session.
|
baseSessionBuilder, factory, validateExistingSessionpublic ManagedSessionContext(SessionFactoryImplementor factory)
public Session currentSession()
CurrentSessionContextpublic static boolean hasBind(SessionFactory factory)
factory - The factory against which to check for a given session
within the current thread.public static Session bind(Session session)
session - The session to be bound.public static Session unbind(SessionFactory factory)
factory - The factory for which to unbind the current session.protected static Map<SessionFactory,Session> sessionMap()
Copyright © 2018 JBoss by Red Hat. All rights reserved.