• 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 所示。

    断点执行和输出结果
    图 1  断点执行和输出结果

更多...

加载中...