Session缓存中有3个很重要的方法:
1.flush():使数据表中的记录和Session缓存中的对象状态保持一致,为了保持一致,可能发送对应的SQL语句。
1).在Transaction的commit方法中,先调用Session的flush()方法,再提交事务;
2).flush()方法可能会发送SQL语句,但不会提交事务;
3).注意:在未提及事务或显示的调用flush()方法之前,可能会调用flush()操作:
1.执行HQL或QBC查询,会先进行flush()操作,以得到数据表的最新记录;
2.若记录的ID是由底层数据库使用自增的方式生成的,则在调用save()方法时,会立即发送insert语句。
2.refresh():会强制发送select语句,以使Session缓存中对象状态和数据表对应记录保持一致。
3.clear():清理缓存。