hibernate Session的小问题 ,在线等!

tonychen000 2009-08-06 11:25:00
我有实体类Note和Tag,一个Note对应多个Tag,在我的代码中我需要获取某一个Note,并对其做一些更新操作在存入数据库,但是又不希望将lazy设置为false,打算用强制加载的方法,Hibernate.initialize(XXXXXX);不知道这里的XXXX应该怎么写?我试过了Hibernate.initialize(note.getTags())但还是报collection is not associated with any session错,请高手指教,谢谢啦
...全文
619 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
archko 2009-08-06
  • 打赏
  • 举报
回复
Hibernate.initialize(note.getTags())就这样写啊.你不会是在关闭了SESSION写这句吧.
tonychen000 2009-08-06
  • 打赏
  • 举报
回复
那我这段代码到底该怎么写呢
archko 2009-08-06
  • 打赏
  • 举报
回复
文档里有,就是这样写的.
当然,我们可以通过强行调用cat.getSex()或者cat.getKittens().size()之类的方法来确保这一点。 但是这样的程序会造成读者的疑惑,也不符合通常的代码规范。

静态方法Hibernate.initialized() 为你的应用程序提供了一个便捷的途径来延迟加载集合或代理。 只要它的Session处于open状态,Hibernate.initialize(cat) 将会为cat强制对代理实例化。 同样,Hibernate.initialize( cat.getKittens() ) 对kittens的集合具有同样的
archko 2009-08-06
  • 打赏
  • 举报
回复
文档里有,就是这样写的.
当然,我们可以通过强行调用cat.getSex()或者cat.getKittens().size()之类的方法来确保这一点。 但是这样的程序会造成读者的疑惑,也不符合通常的代码规范。

静态方法Hibernate.initialized() 为你的应用程序提供了一个便捷的途径来延迟加载集合或代理。 只要它的Session处于open状态,Hibernate.initialize(cat) 将会为cat强制对代理实例化。 同样,Hibernate.initialize( cat.getKittens() ) 对kittens的集合具有同样的

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧