gpt4 book ai didi

java - 在 hibernate 标准中使用 readOnly 是否有任何性能优势?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:37:08 25 4
gpt4 key购买 nike

我正在使用 hibernate 条件 API 来检索数据。这些数据只会被用户查看。用户不能修改这些数据。那么,使用 readOnly 有什么好处吗?能推荐一下优缺点吗?我还需要考虑其他措施吗?

Read-only entities

最佳答案

Hibernate 正在跟踪 session 中加载的所有对象以查找修改并在刷新 session 时保留所有更改。如果将实体加载为只读,则指示 Hibernate 不要跟踪该实体的更改。这样,您将获得一些性能提升。

但是,该对象将保留在 session 缓存中。如果缓存太大,就会成为一个很大的性能问题,并且有内存耗尽的风险。如果你读取了很多对象,最好逐出它们。

如果 Hibernate 的性能确实是一个问题,那么切换到纯 JDBC 是更好的选择。我从不使用 Hibernate 加载大量数据(例如报告或批处理)。为了显示列表,我只加载我需要的字段,而不是整个实体(如果你只读取选定的字段,而不是整个实体,它们总是只读的)。

所以答案是,是的,它会使 Hibernate 更快一点,但还有其他方法可以获得更高的性能。

关于java - 在 hibernate 标准中使用 readOnly 是否有任何性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174293/

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