脏检查及刷新缓存机制

Posted -EASY-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脏检查及刷新缓存机制相关的知识,希望对你有一定的参考价值。

当事务提交时,Hibernate会对Session中持久状态的对象进行检测,判断对象的数据是否发生了改变,这种判断称为脏检查

    Session session;
    Transaction tx;
    
    @After
    public void afterTest(){
        tx.commit();
        HibernateUtil.closeSession();
    }
    
    
    
    @Before
    public void initDate(){
        session=HibernateUtil.getSession();
        tx = session.beginTransaction();
    }
    
    
    @Test
    //延迟加载
    public void loadTest(){
        Student stu = (Student)session.load(Student.class, 1);
        System.out.println("ok");
        System.out.println(stu);
    }
    
    @Test
    public void getTest(){
        Student stu = (Student)session.get(Student.class, 1);
        //脏检查
        stu.setName("猪");
    }

 

 

刷新缓存机制

当Session缓存中对象的属性每次发生变化时,Session并不会立即刷新缓存和执行相关的SQL语句,而是在特定时间点才刷新缓存

以上是关于脏检查及刷新缓存机制的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate 脏检查和刷新缓存机制

Session脏检查及清理缓存机制

考试及复习

Hibernate 小章总结

Hibernate——脏检查和缓存清理机制

脏检查 和 缓存清理机制