Hibernate一级缓存常用操作:刷出、清除和刷新
在 Hibernate 中,一级缓存有三个常见的操作,分别为刷出、清除和刷新操作,下面结合本章前面的案例演示这三种常见的操作。
1. 刷出(flush)
一级缓存刷出功能是指调用 Session 的 flush() 方法时会执行刷出缓存的操作。下面通过具体示例演示一级缓存的刷出功能。在 GoodsTest 类中添加一个名为 test4() 的方法,具体代码如下所示:
// 刷出 @Test public void test4() { Session session = HibernateUtils.getSession(); // 得到session对象 session.beginTransaction(); Goods goods = (Goods) session.get(Goods.class, 2); goods.setPrice(5.5); session.flush(); // 执行刷出操作,此时会发送update语句 session.getTransaction().commit(); session.close(); }
在 flush() 方法处设置断点,利用 Debug 模式运行程序。当程序停止在断点处时,控制台中会显示查询 Goods 对象时所发出的 select 语句。当程序向下执行完 session.flush() 语句时,控制台会输出 update 语句,如图 1 所示。
发表评论