session是在save一个对象的时候还是flush时发出insert等语句啊

 我来答
nirenfu
2009-07-13 · TA获得超过1991个赞
知道小有建树答主
回答量:368
采纳率:0%
帮助的人:626万
展开全部
session flush方法主要做了两件事:清理缓存;执行sql.
session在什么情况下执行flush:默认在事务提交时;显示的调用flush;在执行查询前,如:iterate.
调用save后,只是将对象纳入到了session的管理,不会发出insert语句,如没有主键会根据主键生成策略生成主键,把脱管或瞬态对象变为持久态对象.
调用flush,hibernate会清理缓存,执行sql,默认情况下commit操作会先执行flush清理缓存,所以不用显示的调用flush.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式