hibernate flush clear的区别

时间:2023-01-21 19:18:29

有的时候你执行了更新什么的操作不一定能查出来;没有保存到数据库

以下的缓存是指一级缓存,即session;默认缓存是一级缓存;

flush的意思就是执行sql,但是还没有commit,没有持久化;再清除缓存,

getSession().flush();

getHibernateTemplae().flush();

clear是不执行sql,直接清楚缓存;

如果程序一开始是调用本地的查出来了,后来又调用了存储过程更新这条数据,后来又更新了这条数据,没有flush,没有clear就会造成存储过程没有更新到。

这个时候就要在update的时候flush clear