Hibernate 一级缓存的核心方法

来源:互联网 发布:程序员猝死案例 编辑:程序博客网 时间:2024/06/07 01:20
package star.july.c_session;import org.hibernate.Hibernate;import org.hibernate.Session;import org.hibernate.Transaction;import org.junit.Test;import star.july.a_sql.Employee;import star.july.util.HibernateUtil;public class Demo {                    @Test          public void test(){                   Session session = HibernateUtil.getSession();                   Transaction ts = session.getTransaction();                   try{                             ts.begin();                             //临时状态:new语句                             Employee s = new Employee();                             s.setName("张亮");                                                          session.save(s);                //s是处于持久状态                                                          session.flush();                             //游离状态//                          evict(Object):消除一级缓存中的特定对象//                          clear():消除一级缓存中的所有对象                             session.evict(s);                                                          s.setName("张丽莉");                             //最后添加的数据是:张亮                             ts.commit();                                                          HibernateUtil.close(session);                   }catch(Exception e ){                             e.printStackTrace();                             ts.rollback();                   }          }                                                  @Test          public void test2(){                   Session session = HibernateUtil.getSession();                   Transaction ts = session.getTransaction();                   try{                             ts.begin();                             //临时状态:new语句                             Employee s = new Employee();                             session.save(s);                //s是处于持久状态                                                                             //持久化状态                             //load(),get(),Query list(),Query.uniqueResult()                             Employee emp = (Employee)session.get(Employee.class, 2);                             emp.setName("张亮");                             System.out.println(emp);                                                                                       session.flush();                                                          //游离状态//                          evict(Object):消除一级缓存中的特定对象//                          clear():消除一级缓存中的所有对象                             session.evict(emp);                             session.clear();                             System.out.println(emp+"test");                                                          ts.commit();                   }catch(Exception e ){                             e.printStackTrace();                             ts.rollback();                   }          }}

0 0
原创粉丝点击