java - Hibernates Session.get() 会两次还是仅一次访问数据库?
问题描述
当我们使用 Hibernate 的 Session.get() 两次时。
例子 :-
session.get();
session.get();
解决方案
这取决于..
1)如果为特定实体打开了二级缓存并且之前已经检索过它,则不会对数据库产生任何影响。
2)如果两者get()
都不在同一个持久性上下文中(通常意味着在同一个事务中),那么两次都会对数据库产生影响。
3)如果两者都在同一个持久性上下文中,那么第一个get()
将访问数据库,第二个将只查询持久性上下文而不需要查询数据库。
推荐阅读
- c++ - 在 OpenMP 中共享作用域变量
- html - Laravel css 有时不加载
- javascript - 是否有 CSS 选择器来选择具有数字作为 id 的 div
- git - 将新版本的存储库合并到我当前的版本中
- javascript - 我还需要在 React 的 then 块中使用 async/await
- jquery - 如何通过 jQuery 或 C# 在 input type='datetime-local' 或 Textmode='Datetimelocal' 上设置最小和最大日期时间动态
- reactjs - featuresImage 没有出现在 GraqhiQL 和 Gatsby 中
- c# - Asp.Net MVC 无法访问此站点错误
- r - 计算和绘制多个密度?
- regex - 将负正则表达式前瞻转换为贪婪需要