org.hibernate.HibernateException: Found shared references to a collection
Published by admin on 05月 29, 2011
BeanUtil.copyProperties()的方式复制一个实体bean的时候,如果这个实体bean有一个集合属性,因为这个方法只是做了一个浅拷贝,所以新拷贝的实体跟旧的实体引用了同一个集合,而这在hibernate中是不允许的,所以报错。
解决方法:
在拷贝后,新建一个集合,将原来的集合元素添加进去,并赋值给新拷贝的实体。
如果是拷贝一个实体存入数据库,而不需要集合,则可以设置obj.setSet(null); 即可
上一篇文章:« 利用BeanUtils在对象间复制属性
下一篇文章:hibernate的save()疑惑 »
【版权说明】:本网页上有部分内容来源于网上收集,但不能保证资料的完整性和准确性,仅提供参考和学习。如有侵权请立即通知我们,我们将立即删除,谢谢合作!

Add A Comment