发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

请问 Hibernate 错误 associate a collection with two open sessions

2003-08-08 08:40
赞助商链接

net.sf.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions

在 swing 程序里,使用 ThreadLocal 管理 session

实体关系:
1:n
Project <-----> Buildings

Buildings collection 采用 Lazy init

主界面:项目列表,从 db 中读入 projects,buildings 没有读入内存
在主界面,用户双击某个项目,把这个 project 作为参数传入 projectDialog 进行修改

building 在 projectdialog lazy init 了
但是在 projectdialog 点击存盘按钮 save(project) 时出现错误:
net.sf.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions

后来,我在 projectdialog 开始时再次从 db 中 load 这个 project
就没出现这个错误。

经过跟踪, 主界面 和 projectDialog 用的是同一个 session

到网上找不到这个错误,不知哪位大侠遇到过这个错误,解释下。
谢谢

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com