<!-- lang: java -->
org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions;
错误原因分析:
因为Hibernate默认是只允许单个session存在,如果有两个session同时open,并同一个collection进行操作,Hibernate是无法判断使用那个。
在wel.xml文件中配置了opensession Filter,设置为singleSession。
<!-- lang: xml -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
但是如果我们想通过改变singleSession为false解决问题,我个人认为这个是不合理做法,还是该想其他解决方法。我提供一个解决方法供大家参考。
解决方法:
而且我通过google的搜索的时候,发现这个问题经常出现在1:N的情况下。所以在这种情况下要更为注意open two session这个问题,以免浪费必要的时间在解决错误上。
1、将两个同时对数据库操作的(update/save)法写在一个事务中。
2、将Hibernate的update方法改为merge。
转载于:https://my.oschina.net/u/225084/blog/161048
分享到:
相关推荐
在Java编程环境中,有时会遇到一个常见的错误:"java.security.InvalidKeyException: Illegal key size"。这个错误通常是由于Java安全策略的限制导致的,尤其是当你尝试使用超过默认限制的密钥长度(例如,超过128位...
在Java编程中,`java.security.InvalidKeyException: Illegal key size` 是一个常见的错误,通常出现在加密或解密操作中,尤其是涉及到对称加密算法如AES(高级加密标准)时。这个错误表明您试图使用的密钥长度不受...
illegal function pointer(解决方案).md
illegal memory access(解决方案).md
对接微信接口中因为jdk8解密长度不够 报错 java.security.InvalidKeyException: Illegal key size 替换路径:(记得备份原有的文件) C:\Program Files\Java\jdk1.8.0_131\jre\lib\security
在Java开发过程中,有时会遇到“illegal key size”的错误,这通常与Java加密算法的限制有关。这个错误信息表示尝试使用的密钥长度超过了Java默认允许的最大值,这涉及到Java Cryptography Extension (JCE)的政策...
在使用C#与南大通用数据库(GBase)交互时,遇到的一个常见问题是尝试更新Blob或Clob(大型对象)时出现错误:“Illegal attempt to use Text/Byte host variable”。这个问题通常发生在利用CSDK中的ADO.NET驱动进行...
在Java编程环境中,"java.security.InvalidKeyException: illegal Key Size" 是一个常见的错误,通常发生在加密或解密操作中。这个错误表示你试图使用的密钥长度超过了Java默认的安全限制。在给定的上下文中,这个...
当在Java环境中使用AES加密时遇到 `java.security.InvalidKeyException: Illegal key size or default parameter` 这个异常,通常意味着密钥的长度超过了Java安全策略所允许的最大值。具体来说: - **非法密钥大小...
4. SSH 架构中 Illegal attempt to associate a collection with two open sessions 问题 。 解决方法:使用 Hibernate 的 merge 方法代替 save、update 等方法。merge 方法可以把对象转变为托管状态的对象,而 ...
illegal opcode(解决方案).md
**cJSON库详解** cJSON是一个轻量级的开源JSON解析器和生成器,专为C语言设计。它被广泛应用于嵌入式软件开发中,特别是在处理JSON数据格式时,由于其体积小、效率高、易于集成的特点,成为了C语言环境下的首选库。...
Illegal Instruction(解决方案).md
illegal access to protected memory(解决方案).md
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的...
在LaTeX排版系统中,宏包(package)是扩展其功能的重要工具,它们提供了丰富的命令和环境,使得用户能够创建复杂、专业的文档。这里提到的"latex 宏包threeparttable.sty,colortbl.sty,eso-pic.sty,fancybox.sty...
在IT行业中,库文件是软件开发中的重要组成部分,它们提供了预编译的函数和功能,以便其他程序在运行时调用。"libfekit.so" 和 "libQSec.so" 是两个动态链接库文件,通常在Linux系统中使用。这些文件在C或C++编程中...
java.lang.IllegalStateException: Invalid name=“com.alibaba.dubbo.config.ProtocolConfig#0” contains illegal character, only digit, letter, ‘-’, ‘_’ or ‘.’ is legal 原因: 如果没有指定id属性,...
在IT行业中,尤其是在移动应用开发领域,安全性是一个至关重要的议题。小程序作为一种轻量级的应用形态,也需要处理数据的安全性问题,比如用户信息的加密。在这个场景下,标题提到的"小程序中可使用的MD5加密支持...
Like talking to a brick wall... nothing happens 3 But JavaScript talks back 4 Lights, camera, interaction! 6 Use the [removed] tag to tell the browser you’re writing JavaScript 11 Your web browser ...