2011-10-31
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:132)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:174)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at com.sinovatech.bms.adm.model.dto.TBmsUserDTO_$$_javassist_40.getUserLoginName(TBmsUserDTO_$$_javassist_40.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
... 50 more
原因:
在hibernate3的 many-to-one的默认选项是 lazy = "proxy"
session已经关闭了,设置延迟加载到真真读取数据时才读数据库,但是此时数据库连接已经关闭了
解决方案
1 <many-to-one> & <set> 中设置 lazy="false"
(设置lazy="false" 解决了大部分的延时加载问题
但是同事也降低了系统的性能 ) 【成功】
2 将many-to-one部分的fetch设置为"join" 【失败】
3 OpenSessionInViewFilter (用SESSION的关闭延迟到请求结束,大部份的WEB应用都用这个解决) 【未测试】
分享到:
相关推荐
当你尝试在Controller层或者视图层访问懒加载的属性时,如果Session已经关闭("no Session..."错误),就会抛出`org.hibernate.LazyInitializationException`。这是因为懒加载的代理对象需要Session来执行数据库查询...
标题 "Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser" 提示了一个Java运行时错误,这通常意味着在尝试加载或初始化`JRStyledTextParser`类时遇到了问题。`JRStyledTextParser`是...
在使用PL/SQL Developer 12连接Oracle数据库时,可能会遇到“Could not initialize oci.dll”这样的错误提示。这个错误通常表明系统无法找到或正确加载Oracle客户端的oci.dll库文件,这是Oracle Instant Client的一...
2.2.3.1+spring-framework-3.1.0+hibernate-distribution-3.6.8+JSON+MySQL+Annotation,并且对Dao和Service进行了封装,内含.jar包,并且解决了一对多双向关联的could not initialize proxy - no Session错误,同时...
解决:oracle_plsql连服务端时 Initialization error could initialize错误处理方法
在使用PL/SQL Developer这款强大的Oracle数据库管理工具时,有时可能会遇到“Could not initialize oci.dll”的错误提示,这通常是由于应用程序与Oracle客户端组件之间的兼容性问题导致的。本文将详细介绍如何解决这...
7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 ...
监听COM口启动程序报错 Could not initialize class gnu.io.RXTXCommDriver异常 是因为需要在%JAVA_HOME%/jre/bin目录中添加rxtxParallel.dll、rxtxSerial.dll文件
解决hbase client在windows环境下报Could not initialize class org.fusesource.jansi.internal.Kernel32的问题,把jar包放入hbase client的lib包下,重新运行hbase.cmd shell即可
内涵jacob_1.14.3-x64.dll;jacob_1.14.3-64.jdk(maven地址);解决方法:Could not initialize class com.jacob.com.ComThread
缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig 使用json时候将会用到的一个jar包,发现这个包在网上提供的比较少.缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig ...
JavaCPP是一个强大的Java库,它允许Java程序员无缝地访问C和C++的原生库。它的核心功能是通过动态生成Java绑定,使得Java代码可以直接调用C/C++的函数,极大地提高了性能和灵活性。在视频截图的场景中,JavaCPP可以...
Could not initialize "D:\app\Happy\product\11.2.0\dbhome_1\bin\oci.dll" Make sure you have the 32 bits Oracle Client installed. OracleHomeKey: OracleHomeDir: D:\app\Happy\product\11.2.0\dbhome_1 ...
java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包
7. **Action的返回方法出错,could not initialize proxy - no Session** 这可能是在Hibernate操作中没有正确初始化Session。确保在访问数据库之前已打开Session,并在完成后关闭。 8. **查询数据出现乱码问题** ...
错误消息“unable to initialize windows sockets interface error code 0”表明Winsock初始化失败,错误代码0通常表示系统级的错误,可能是由于Winsock配置出错、相关动态链接库(DLL)文件损坏、网络驱动程序冲突...
1. **解压和配置MySQL安装文件**: 首先,将MySQL的安装包解压缩到您选择的目录,并将`my.ini`配置文件复制到该目录。打开`my.ini`文件,修改`basedir`和`datadir`的路径以指向您的解压目录。 2. **设置环境变量**...
// Initialize the proxy server // Also specify any options for hyperswarm here // https://github.com/hyperswarm/hyperswarm const server = new HyperswarmServer ( ) // Start listening on clients via ...
错误表现:在Session关闭后尝试访问懒加载属性,抛出“org.hibernate.LazyInitializationException: could not initialize proxy - no Session”异常。 解决方案:理解并合理使用Open Session in View(OSIV)模式...