gpt4 book ai didi

java - Hibernate 延迟加载 + Jersey REST = 急切加载?

转载 作者:行者123 更新时间:2023-12-04 06:58:28 28 4
gpt4 key购买 nike

我正在开发一个客户端-服务器-应用程序,其中 Hibernate 作为持久层,Jersey REST 用于网络通信。

给定具有角色的用户:

  • 当我想在客户端显示所有用户时,我不希望 Hibernate 加载角色,也不希望通过网络发送它们
  • 当我想修改用户的角色时,我希望它们被加载并被转移

  • 我正在使用预加载模式( http://bwinterberg.blogspot.com/2009/09/hibernate-preload-pattern.html)来确定 Hibernate 应该加载哪些属性。这工作正常。

    在案例 1 中,Hibernate 没有加载任何角色,正如预期的那样。但是一旦 Jersey 创建了要发送到客户端的 XML,它就会读取用户的角色,这反过来让 Hibernate 加载角色(以及所有其他属性)。
    最后,Hibernate 总是加载属于用户的完整数据集树。

    在将用户传递给 Jersey 之前,我曾考虑通过关闭 session 来分离用户,因此 Hibernate 无法加载角色,但这似乎没有任何效果。

    有任何想法吗?

    最佳答案

  • 对您的实体进行浅层克隆并为其设置一个空集合,然后再将其用于序列化
  • 制作代理集合的自定义代理,仅在某些情况下(第一个用例)委托(delegate)加载,并在其他
  • 中返回空集合

    关于java - Hibernate 延迟加载 + Jersey REST = 急切加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2252776/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com