hibernate中,session.flush()的作用是什么?是清空一级缓存并执行SQL语句吗?

如果是清空缓存,那么执行后一级缓存中的持久化对象还存在吗?... 如果是清空缓存,那么执行后一级缓存中的持久化对象还存在吗? 展开
 我来答
jehovah1128
2012-10-16 · TA获得超过238个赞
知道答主
回答量:51
采纳率:0%
帮助的人:54.9万
展开全部
fulsh是强制将session的东西刷新,有可能是提交数据,删除或什么的,具体看你的程序,所以你说的清空,是错的,是“提交”掉或“刷新”掉,这样说可能准确些,比如你在添加大量的数据时,一次性的在session里面放入大量的对象的话,会严重影响性能,当你在执行一部分后执行fulsh()方法,会强制将之前session里面的对象进行持久化! 清空的要使用clear(),还有个是evict方法,都是一样的效果
wanyuxiang000
2012-11-02
知道答主
回答量:13
采纳率:0%
帮助的人:3.8万
展开全部
我感觉他回答的模糊,flush也没有刷新的意思,foreign的文档表达的意思是刷入,刷新和刷入意思太大了点吧,只是把session的数据刷入到数据库,或者说只是强制让session的内容和数据库的内容同步,对session里面的对象所做的操作,可能是CRUD,而我们用session.flush(),只是让对象CRUD的操作同步到数据库而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友eafe715dc
2012-10-16 · TA获得超过1490个赞
知道小有建树答主
回答量:763
采纳率:50%
帮助的人:637万
展开全部
session flush在commit之前默认都会执行他。也可以手动执行它,他主要做了两件事:1) 清理缓存。2) 执行SQL。
session在什么情况下执行flush* 默认在事务提交时* 显示的调用flush* 在执行查询前,如:iteratehibernate按照save(insert),update、delete顺序提交相关操作
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式