问题的解决方法主要有两种:
1、将<many-to-one> & <set> 中设置 lazy="false"。
2、OpenSessionInView解决办法。
后者不需要更改映射文件的配置即可解决这个问题,Neo觉得比较好。具体做法如下:
(第一步)
在web.xml中加入如下内容:
<!-- 实现在Spring管理Hibernate时的延迟加载。如果去掉会导致延迟加载出现问题。 -->
-
-
<
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
>
<!-- 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中的类配置为自己改写后的类名。
分享到:
相关推荐
在Java的Web开发中,Spring框架与Hibernate的整合是常见的数据访问层实现方式。Spring提供了强大的依赖注入(DI)和AOP(面向切面编程)功能,而Hibernate则是一个优秀的对象关系映射(ORM)框架,它使得Java开发者...
以下是一些解决“Could not initialize oci.dll”问题的步骤: 1. **下载Oracle Instant Client**: 首先,你需要从Oracle官方网站下载适合你的操作系统的Oracle Instant Client版本。在这个案例中,我们看到的...
标题 "Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser" 提示了一个Java运行时错误,这通常意味着在尝试加载或初始化`JRStyledTextParser`类时遇到了问题。`JRStyledTextParser`是...
本程序整合了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 - ...
在使用PL/SQL Developer这款强大的Oracle数据库管理工具时,有时可能会遇到“Could not initialize oci.dll”的错误提示,这通常是由于应用程序与Oracle客户端组件之间的兼容性问题导致的。本文将详细介绍如何解决这...
解决:oracle_plsql连服务端时 Initialization error could initialize错误处理方法
7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 ...
解决hbase client在windows环境下报Could not initialize class org.fusesource.jansi.internal.Kernel32的问题,把jar包放入hbase client的lib包下,重新运行hbase.cmd shell即可
监听COM口启动程序报错 Could not initialize class gnu.io.RXTXCommDriver异常 是因为需要在%JAVA_HOME%/jre/bin目录中添加rxtxParallel.dll、rxtxSerial.dll文件
内涵jacob_1.14.3-x64.dll;jacob_1.14.3-64.jdk(maven地址);解决方法:Could not initialize class com.jacob.com.ComThread
7. **Action的返回方法出错,could not initialize proxy - no Session** 这可能是在Hibernate操作中没有正确初始化Session。确保在访问数据库之前已打开Session,并在完成后关闭。 8. **查询数据出现乱码问题** ...
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 ...
错误表现:在Session关闭后尝试访问懒加载属性,抛出“org.hibernate.LazyInitializationException: could not initialize proxy - no Session”异常。 解决方案:理解并合理使用Open Session in View(OSIV)模式...
标题中的“WINSOCK坏了”指的是Windows操作系统中的网络通信组件——Winsock(Windows Socket)出现了问题。Winsock是Windows上应用程序与网络协议如TCP/IP进行交互的接口,它提供了标准的应用程序编程接口(API),...
缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig 使用json时候将会用到的一个jar包,发现这个包在网上提供的比较少.缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig ...
标题中的“InstantClient-64bit-安装包”指的是Oracle的Instant Client,这是一个轻量级的客户端软件,用于连接到Oracle数据库,而无需完整的Oracle Database Client安装。它包含必要的库和组件,使得应用程序能够与...
在32位Linux系统中,这意味着将对应的`.so`(共享对象)文件放置在系统的`library_path`中,或者在运行Java程序时使用`-Djava.library.path`指定路径。例如: ```bash java -Djava.library.path=/path/to/your/libs...
java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包
在IT行业中,SSH(Secure Shell)是一种用于在网络之间安全传输数据的协议,广泛应用于远程登录、文件传输等场景。SSH密钥对的生成是SSH安全性的基础,`ssh-keygen`命令是Unix/Linux系统中用于生成这些密钥的工具。...