关于 session is close得错误

1.在web.xml配置文件中 配置 一个 openSessionView 的 过滤器

<!-- OpenSessionInViewFilter过滤器 -->
<filter>
<filter-name>openSessionView</filter-name>
<filter-class>
com.accp.util.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>

</filter>

<filter-mapping>
<filter-name>openSessionView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

2. 编写下面这个类
    package com.accp.util;

import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.orm.hibernate3.SessionFactoryUtils;

public class OpenSessionInViewFilter extends
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter {

    protected Session getSession(SessionFactory sessionFactory) throws DataAccessResourceFailureException {
            Session session = SessionFactoryUtils.getSession(sessionFactory, true);
            session.setFlushMode(FlushMode.COMMIT);
            //session.setFlushMode(FlushMode.AUTO);
           //session.setFlushMode(FlushMode.NEVER);
           
            return session;
    }
    protected void closeSession(Session session, SessionFactory factory) {
            session.flush();
            super.closeSession(session, factory);
    }

}

你可能感兴趣的:(DAO,Web,xml,Hibernate,orm)