2
我正在开发一个客户端 - 服务器应用程序,Hibernate作为持久层和Jersey REST进行网络通信。Hibernate延迟加载+ Jersey REST =急切加载?
考虑到与角色的用户:
-
时,我想显示在客户端的所有用户,我不希望由Hibernate加载的角色,我不希望他们送过来
- 网络
- 当我要修改用户的角色,我希望他们能够加载和我使用的是预加载模式(http://bwinterberg.blogspot.com/2009/09/hibernate-preload-pattern.html),以确定哪些属性应该由Hibernate加载转移
。这工作正常。
在情况1中,没有任何角色由Hibernate加载,就像预期的那样。但是,只要Jersey创建要发送给客户端的XML,它就会读取用户的角色,这又会让Hibernate加载角色(以及所有其他属性)。最后,Hibernate总是加载属于用户的完整数据集树。
我想在关闭会话之前关闭会话,然后再将用户传递给Jersey,所以Hibernate无法加载角色,但这似乎没有任何效果。
任何想法?
谢谢!我会在星期一尝试。 – Olvagor 2010-02-12 16:20:43
好吧,我试着做一个浅拷贝并设置一个空集合。这工作得很好。但是它也没有复制,因为幸运的是这个改变没有被提交给数据库。 现在我将我的空集合直接设置为数据库中的实体。 感谢您的提示! – Olvagor 2010-02-15 12:08:11