首先问题1:flush的确是清理缓存,但是在清理之前会先将缓存的数据commit(提交)
问题2:在不在事务都会有session,有session就会有flush
hibernate先对session中托管的bean(一级缓存)进行修改,在执行flush操作时:收集session中所有的bean,检查这些bean和原有备份是否有差异,如果有则生成update sql语句,并执行。
你写的这段代码是有问题的,为什么要在循环中使用session.flush()(影响性能),如果真需要手动flush也可以放在循环外面;另外,通常情况下,可以设置事务提交的时候自动flush或者close。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....