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