`

SSH整合中could not initialize proxy - no Session问题的OpenSessionInView解决办法

阅读更多

问题的解决方法主要有两种:
1、将<many-to-one>  & <set> 中设置 lazy="false"。
2、OpenSessionInView解决办法。
后者不需要更改映射文件的配置即可解决这个问题,Neo觉得比较好。具体做法如下:

(第一步)
在web.xml中加入如下内容:

<!-- 实现在Spring管理Hibernate时的延迟加载。如果去掉会导致延迟加载出现问题。 -->

Xml代码  收藏代码
  1. <!-- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter -->   
  2. < filter > mylistitems  
  3.  < filter-name > hibernateFilter </ filter-name >   
  4.  < filter-class >   
  5.   org.nits.util.OpenSessionInViewFilter[color = red ](这是我改写之后的类)[/color]  
  6.  </ filter-class >   
  7. </ filter >   
  8. < filter-mapping >   
  9.  < filter-name > hibernateFilter </ filter-name >   
  10.  < url-pattern > /* </ url-pattern >   
  11. </ filter-mapping >   
 <!-- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter -->
 <filter>mylistitems
  <filter-name>hibernateFilter</filter-name>
  <filter-class>
   org.nits.util.OpenSessionInViewFilter[color=red](这是我改写之后的类)[/color]
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>hibernateFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>



(第二步)
重写OpenSessionInViewFilter类。方法:将Spring源码包中OpenSessionInViewFilter 源代码复制过来,

将private FlushMode flushMode = FlushMode.NEVER;改成private FlushMode flushMode = FlushMode.AUTO;保存即可。


然后将web.xml中的类配置为自己改写后的类名。

分享到:
评论

相关推荐

    集成spring的hibernate懒加载

    在Java的Web开发中,Spring框架与Hibernate的整合是常见的数据访问层实现方式。Spring提供了强大的依赖注入(DI)和AOP(面向切面编程)功能,而Hibernate则是一个优秀的对象关系映射(ORM)框架,它使得Java开发者...

    Plsql 12连接Oracle时出现Could not initialize oci.dll解决方案 oracle 客户端

    以下是一些解决“Could not initialize oci.dll”问题的步骤: 1. **下载Oracle Instant Client**: 首先,你需要从Oracle官方网站下载适合你的操作系统的Oracle Instant Client版本。在这个案例中,我们看到的...

    Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

    标题 "Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser" 提示了一个Java运行时错误,这通常意味着在尝试加载或初始化`JRStyledTextParser`类时遇到了问题。`JRStyledTextParser`是...

    S2S3H3整合以及泛型Dao与Service封装

    本程序整合了struts-2.2.3.1+spring-framework-3.1.0+hibernate-distribution-3.6.8+JSON+MySQL+Annotation,并且对Dao和Service进行了封装,内含.jar包,并且解决了一对多双向关联的could not initialize proxy - ...

    Plsql Developer连接Oracle时出现Could not initialize oci.dll解决方案

    在使用PL/SQL Developer这款强大的Oracle数据库管理工具时,有时可能会遇到“Could not initialize oci.dll”的错误提示,这通常是由于应用程序与Oracle客户端组件之间的兼容性问题导致的。本文将详细介绍如何解决这...

    oracle_plsql连服务端时 Initialization error could initialize错误处理方法

    解决:oracle_plsql连服务端时 Initialization error could initialize错误处理方法

    基于SSH框架的BBS论坛JavaEE项目源码

    7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 ...

    解决hbase client在windows环境下报NoClassDefFound问题

    解决hbase client在windows环境下报Could not initialize class org.fusesource.jansi.internal.Kernel32的问题,把jar包放入hbase client的lib包下,重新运行hbase.cmd shell即可

    java串口所需依赖dll文件合集

    监听COM口启动程序报错 Could not initialize class gnu.io.RXTXCommDriver异常 是因为需要在%JAVA_HOME%/jre/bin目录中添加rxtxParallel.dll、rxtxSerial.dll文件

    jacob_1.14.3.rar

    内涵jacob_1.14.3-x64.dll;jacob_1.14.3-64.jdk(maven地址);解决方法:Could not initialize class com.jacob.com.ComThread

    JAVA错误文档[归纳].pdf

    7. **Action的返回方法出错,could not initialize proxy - no Session** 这可能是在Hibernate操作中没有正确初始化Session。确保在访问数据库之前已打开Session,并在完成后关闭。 8. **查询数据出现乱码问题** ...

    instantclient_11_2.zip

    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 ...

    Hibernate配置常见错误

    错误表现:在Session关闭后尝试访问懒加载属性,抛出“org.hibernate.LazyInitializationException: could not initialize proxy - no Session”异常。 解决方案:理解并合理使用Open Session in View(OSIV)模式...

    WINSOCK坏了 winsockfix

    标题中的“WINSOCK坏了”指的是Windows操作系统中的网络通信组件——Winsock(Windows Socket)出现了问题。Winsock是Windows上应用程序与网络协议如TCP/IP进行交互的接口,它提供了标准的应用程序编程接口(API),...

    ezmorph-1.0.6.jar

    缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig 使用json时候将会用到的一个jar包,发现这个包在网上提供的比较少.缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig ...

    InstantClient-64bit-安装包-完美解决PL/SQL连接数据库提示oci.dll加载失败的问题

    标题中的“InstantClient-64bit-安装包”指的是Oracle的Instant Client,这是一个轻量级的客户端软件,用于连接到Oracle数据库,而无需完整的Oracle Database Client安装。它包含必要的库和组件,使得应用程序能够与...

    linux上实现视频截图

    在32位Linux系统中,这意味着将对应的`.so`(共享对象)文件放置在系统的`library_path`中,或者在运行Java程序时使用`-Djava.library.path`指定路径。例如: ```bash java -Djava.library.path=/path/to/your/libs...

    derby.jar 。。

    java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包

    ssh-keygen 兼容方案

    在IT行业中,SSH(Secure Shell)是一种用于在网络之间安全传输数据的协议,广泛应用于远程登录、文件传输等场景。SSH密钥对的生成是SSH安全性的基础,`ssh-keygen`命令是Unix/Linux系统中用于生成这些密钥的工具。...

Global site tag (gtag.js) - Google Analytics