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

  • 相关阅读:
    【html】【21】高级篇--搜索框
    【html】【20】高级篇--轮播图[聚焦]
    【html】【19】高级篇--大事件时间轴
    【html】【18】高级篇--下拉列表[竖向手风琴]
    【html】【17】高级篇--loading加载
    【html】【16】高级篇--毛玻璃效果[模糊]
    【html】【15】特效篇--分页
    【html】【14】特效篇--侧边栏客服
    【mysql】【分组】后取每组的top2
    【html】【13】特效篇--下拉导航
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5097048.html
Copyright © 2011-2022 走看看