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

org.hibernate.Session.clear()被认为有害吗?

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

org.hibernate.Session.clear()被认为有害吗?

广告。

:看起来您知道该怎么

clear()
做。显式调用它的原因是从L1高速缓存中删除所有受管实体,以便在一个事务中处理大型数据集时,它不会无限增长。

它丢弃了对 未明确 保留的托管实体所做的所有更改。这意味着您可以安全地修改实体,显式更新实体并清除会话。这是 正确的
设计。显然,如果不进行任何更改(长时间但只读的会话),

clear()
则始终是安全的。

您还可以使用无状态会话。

广告。
B
:不,存在上述原因:确保L1(会话缓存)不会增长太多。当然,手动维护它不是一个好主意,这表明应该对大型数据集使用另一种工具,但是有时这是必须的。

请注意,在JPA规范中也有

clear()
flush()
方法。在这种情况下,应始终
flush()
先调用,然后再将更改推送到数据库中(显式更新)
clear()

广告。 C:当用户清除带有脏更改的会话时,警告用户(也许通过发出警告消息而不是引发异常)实际上是一个好主意。另外,我不认为 框架
代码应该

clear()
无条件调用,除非可以确保 框架 代码中的用户代码刷新或不进行任何更改。



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

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

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