OpenSessionInViewFilter FlushMode.COMMIT 问题
package filters;
import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
public class OpenSessionInViewImplFilter extends OpenSessionInViewFilter {
@Override
protected Session getSession(SessionFactory sessionFactory)
throws DataAccessResourceFailureException {
Session session = SessionFactoryUtils.getSession(sessionFactory, true);
session.setFlushMode(FlushMode.COMMIT);
return session;
}
@Override
protected void closeSession(Session session, SessionFactory sessionFactory) {
session.flush();
super.closeSession(session, sessionFactory);
}
}
本文探讨了在使用Spring框架时遇到的OpenSessionInViewFilterFlushMode.COMMIT问题,介绍了如何通过设置SessionFactory的flushMode属性来解决此问题,并提供了一个具体的实现方式。
442

被折叠的 条评论
为什么被折叠?



