首页 > Web开发 > 详细

hibernate懒加载异常处理

时间:2015-01-30 14:35:46      阅读:315      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!