gpt4 book ai didi

java - HTTP 请求之间的 Hibernate session

转载 作者:行者123 更新时间:2023-12-02 07:25:45 24 4
gpt4 key购买 nike

我正在开发一个网络应用程序,其中模型由一个组成,其中包含许多用户列表。 HTTP 请求显示Users 加载了 FetchType.LAZY 因为我不希望它们立即全部加载。 Group 保存到 HTTP session 中,并且 Hibernate Session 关闭。然后,应用程序通过显示名称和描述进行响应。然后可能会收到一个新的 HTTP 请求来显示该组中的一些用户。从 HTTP session 中提取,并且应用程序尝试访问该列表。由于每个 User 的代理都与之前关闭的 Hibernate Session 绑定(bind),Hibernate 不会抛出异常吗?如何在 HTTP session 中跨 HTTP 请求进行延迟加载?

最佳答案

您不应将用户或组(作为对象)放入 session 中。最好的方案是将组 ID 放入 session 中,并在必要时加载组和用户。

担心性能?让Hibernate二级缓存解决这个问题。如果您正确配置对象映射,缓存甚至应该支持按组检索所有用户,例如:

<class name="Group" table="...">
<cache .../>

<bag name=users" ...>
<cache ....>
...
</bag>
</class>

关于java - HTTP 请求之间的 Hibernate session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608851/

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