public class OpenSessionInterceptor extends Object implements org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.InitializingBean
MethodInterceptor implementation that binds a new
Hibernate Session for each method invocation, if none bound before.
This is a simple Hibernate Session scoping interceptor along the lines of
OpenSessionInViewInterceptor, just for use with AOP setup instead of
MVC setup. It opens a new Session with flush mode "MANUAL" since the
Session is only meant for reading, except when participating in a transaction.
OpenSessionInViewInterceptor,
OpenSessionInViewFilter,
HibernateTransactionManager,
TransactionSynchronizationManager,
SessionFactory.getCurrentSession()| Constructor and Description |
|---|
OpenSessionInterceptor() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
SessionFactory |
getSessionFactory()
Return the Hibernate SessionFactory that should be used to create Hibernate Sessions.
|
Object |
invoke(org.aopalliance.intercept.MethodInvocation invocation) |
protected Session |
openSession()
Deprecated.
as of 5.0, in favor of
openSession(SessionFactory) |
protected Session |
openSession(SessionFactory sessionFactory)
Open a Session for the given SessionFactory.
|
void |
setSessionFactory(SessionFactory sessionFactory)
Set the Hibernate SessionFactory that should be used to create Hibernate Sessions.
|
public void setSessionFactory(@Nullable
SessionFactory sessionFactory)
@Nullable public SessionFactory getSessionFactory()
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean@Nullable public Object invoke(org.aopalliance.intercept.MethodInvocation invocation) throws Throwable
invoke in interface org.aopalliance.intercept.MethodInterceptorThrowableprotected Session openSession(SessionFactory sessionFactory) throws org.springframework.dao.DataAccessResourceFailureException
The default implementation delegates to the SessionFactory.openSession()
method and sets the Session's flush mode to "MANUAL".
sessionFactory - the SessionFactory to useorg.springframework.dao.DataAccessResourceFailureException - if the Session could not be createdFlushMode.MANUAL@Deprecated @Nullable protected Session openSession() throws org.springframework.dao.DataAccessResourceFailureException
openSession(SessionFactory)org.springframework.dao.DataAccessResourceFailureException