this.closeSession();
Session session = this.getSession();
if(isFromDB)
session.clear();
Query query = session.createQuery(sql);
if (isFromDB)
{
session.clear();
query.setCacheable(false); //不使用缓存
query.setCacheMode(CacheMode.IGNORE);
}
return query.list();
1.session.clear(),先清除一级缓存
createSQLQuery创建的SQLQuery对象query中设置query.setCacheMode(CacheMode.IGNORE);
设置成CacheMode.IGNORE模式,在读取数据的时候,不和二级缓存交换数据,直接读取数据库。
则页面刷新皆为正常显示,因为分页每页显示的数据顶多也就10几20几条,故不读缓存对性能影响不大,可放心使用