Hibernate session的方法全集

本文详细介绍了Hibernate中Session的各种方法及其应用场景,包括flush、clear和evict等方法的使用技巧,并探讨了这些方法与事务处理之间的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hibernate session的方法全集

 

 

flush-强制提交刷新session clear--清除session evict(Obj)将对象实例从session缓存清除 

 

 

session.flush() 不是必须调用的
session.close()是必须调用的
session.clear()写在flush后面 稍后解释

session.flush()的调用牵扯到事务,首先我们知道在执行事务之前都会将AutoCommit设置为false【手动提交方式,因为默认是true自动提交的】 当AutoCommit为false时 我们执行完事务就要调用到session.flush();session.clear();一切处理完后我们要close掉当前的这个session

但是当我们不做事务操作的时候 我们就没必要去调用session.flush()和session.clear()。
直接session.close()就OK 因为这时close会默认调用一次session.flush()。如果使用了ThreadLocal那么就要在close方法里处理一下ThreadLocal。

session.flush()的作用是将数据库与缓存中的数据同步 
当session.clear()后才会引起缓存数据变化,这里大家要搞清楚。

以上是看了大虾们对session.flush()和session.close()的解释后自己的一些总结 ,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值