Hibernate快照

l当session加载了某个对象后,会为该对象的值类型的属性复制一份快照。当刷出缓存时,通过比较对象的当前属性和快照,来判断对象的哪些属性发生了变化。
代码如下:
 1  /**
 2      * 修改学生信息
 3      */
 4     @Test
 5     public void update(){
 6     Session session = HibernateUtils.getSession();
 7     Transaction transaction = session.beginTransaction();
 8     
 9     try {
10 
11         Student stu = (Student) session.get(Student.class, 8);
12         stu.setStuName("李四2");
13 
14         //这里不执行update操作,数据库仍热会发生变化,因为持久化对象已经与快照不同        
15 //        session.update(stu);
16         
17         transaction.commit();
18     } catch (Exception e) {
19         transaction.rollback();
20         e.printStackTrace();
21         
22     }
23     finally{
24         session.close();
25     }
26     }

 

posted @ 2014-07-14 23:24  CheneyHan  阅读(820)  评论(0)    收藏  举报