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里 再打开懒载入。

  • 相关阅读:
    [Java] java中的异常处理
    Jmeter之定时器
    Jmeter之检查点
    Jmeter之集合点
    Jmeter之关联
    Jmeter之参数化
    Jmeter测试WebService接口
    Jmeter测试MySQL数据库
    Jmeter测试HTTP接口
    使用Postman对HTTP接口进行功能测试
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5097048.html
Copyright © 2011-2022 走看看