脏检查及刷新缓存机制

当事务提交时,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语句,而是在特定时间点才刷新缓存

原文地址:https://www.cnblogs.com/qingzhi/p/5817457.html