请教板桥大哥关于延迟加载的问题

09-05-11 billclod
    

板桥大哥 在开发中 需要用到延迟加载 但是我的session facade里面的entityManager是由容器注入的

这样entityManager是事物范围的。 这样的话一旦我的实体bean变成了脱管状态就不能通过get方法取到

延迟加载项了 ,我该如何写这个session facade才能保证entityManager是长效的呢?放在threadLocal中是个好方法吗? 等待您的回复 谢谢!

[该贴被billclod于2009-05-11 21:27修改过]

    

1
banq
2009-05-12 10:35

使用refresh或merge重新进入managed状态,使用EJB一定要注意要顺着它,就像一个有脾气和个性的人,只能顺撸毛。

billclod
2009-05-12 12:23

谢谢 板桥大哥 呵呵 还是我掌握的不够好啊 要努力了

z931014
2009-10-04 15:42

在楼主的情况下,参考banq的建议,stateless sessionbean 中如下代码:

em.refresh(em.merge(c));

Collection<X>js= c.getXCollection();

不能取道延迟加载项。

请达人指点我还可能是哪里出了问题

z931014
2009-10-04 20:45

this problem is finished .through csdn.

by call the size() method of the lazyed collection .