栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hibernate运行不需要的更新语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate运行不需要的更新语句

您所描述的正是Hibernate的

FlushMode.AUTO
含义。

执行查询时对持久性上下文(1LC)的任何修改都将在执行查询之前自动清除,以确保数据库返回的结果与内存中修改所缓存的结果匹配。

如果查询将返回您要查看其更新的实体,则您可能应该重新评估您的操作,确保查询在更新之前触发以避免刷新操作,这可能会非常昂贵,具体取决于持久性上下文中实体的数量。

如果您 完全确定 相关查询不会返回您看到的刷新更改,则可以始终通过手动设置刷新模式来强制查询不引起刷新:

Query query = session.createQuery( ... );query.setFlushMode( FlushMode.COMMIT );List results = query.list();

但是只有在您确定查询不会再读取未提交的更改时才执行此操作,因为这可能会导致很多问题,并导致长时间的调试会话,以了解为什么应用程序无意间丢失了更改。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号