码迷,mamicode.com
首页 > Web开发 > 详细

hibernate懒加载异常处理

时间:2015-01-30 14:36:36      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

1、实体类中使用lazy="false"

2、lazy="ture"   在web.xml中加入

      程序代码
    <filter> 
     <filter-name>hibernateFilter</filter-name> 
     <filter-class> 
     org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 
     </filter-class> 
   </filter 
   <filter-mapping> 
     <filter-name>hibernateFilter</filter-name> 
     <url-pattern>*.do</url-pattern> 
    </filter-mapping>
 
    此方式容易遇到Write operations are not allowed in read-only mode问题,解决方法:重写OpenSessionInViewFilter的2个方法
     public class OpenSessionInViewFilter extends org.springframework.orm.hibernate3.support.OpenSessionInViewFilter {
 

     
        /**
         * we do a different flushmode than in the codebase
         * here
         */
        protected Session getSession(SessionFactory sessionFactory) throws DataAccessResourceFailureException {
                Session session = SessionFactoryUtils.getSession(sessionFactory, true);
                session.setFlushMode(FlushMode.COMMIT);
                return session;
        }
        /**
         * we do an explicit flush here just in case
         * we do not have an automated flush
         */
        protected void closeSession(Session session, SessionFactory factory) {
                session.flush();
                super.closeSession(session, factory);
        }
}

hibernate懒加载异常处理

标签:

原文地址:http://www.cnblogs.com/lengzhijun/p/4261670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!