zoukankan      html  css  js  c++  java
  • 解决org.hibernate.LazyInitializationException: could not initialize proxy

    问题描写叙述:

    Struts Problem Report

    Struts has detected an unhandled exception:

    Messages:
    1. could not initialize proxy - no Session
    2. Error reading 'name' on type future.oa.domain.Department_$$_jvstb8a_0
    3. javax.el.ELException: Error reading 'name' on type future.oa.domain.Department_$$_jvstb8a_0
    File: org/hibernate/proxy/AbstractLazyInitializer.java

    Stacktraces

    org.apache.jasper.JasperException: javax.el.ELException: Error reading 'name' on type future.oa.domain.Department_$$_jvstb8a_0
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        .......

    javax.el.ELException: Error reading 'name' on type future.oa.domain.Department_$$_jvstb8a_0
        javax.el.BeanELResolver.getValue(BeanELResolver.java:110)
        org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
        org.apache.el.parser.AstValue.getValue(AstValue.java:183)
        org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
        ......

    org.hibernate.LazyInitializationException: could not initialize proxy - no Session
        org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:164)
        org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:285)
        org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
        future.oa.domain.Department_$$_jvstb8a_0.getName(Department_$$_jvstb8a_0.java)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        ......

    You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

      struts.devMode=false
    
    in your WEB-INF/classes/struts.properties file.

    解决方法:
    解决懒载入问题。

    方法一:(直接将懒载入关闭):
    在 .hbm.xml 里
    <!--  lazy="false"关闭懒载入 -->
    <set name="children" cascade="delete" lazy="false">   
    <key column="parentId"></key>
    <one-to-many class="Department"/>
    </set>
    缺点:一些懒载入的长处也用不了了。

    方法二:
    在 web.xml里(注:要在 <!-- 配置struts2核心的过滤器 --> 之前
      <!-- 配置Spring的用于解决懒载入问题的过滤器 -->
      <filter>
      <filter-name>OpenSessionInViewFilter</filter-name>
      <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>OpenSessionInViewFilter</filter-name>
      <url-pattern>*.action</url-pattern>
      </filter-mapping>
      然后在 *.hbm.xml里 再打开懒载入。

  • 相关阅读:
    android中获取某段程序的执行时间
    图像位宽对齐
    使用 ssh 连接github的方法说明(gitub的官方说法)
    转:程序员必须知道的几个Git代码托管平台
    转:webRTC的前世今生
    Eclipse c++头文件问题(未完)
    [原创] NetBean开发c++程序指南1- 加入c++项目文件夹
    xshell5 启动显示 mfc110.dll msvcp110.dll 未找到问题 解决办法
    vmware12安装vmtools
    转: EclipseIDE开发 for C++
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5097048.html
Copyright © 2011-2022 走看看