首页 > 代码库 > Session常用方法

Session常用方法

  1. save()方法 将一个临时对象转化为辞旧话对象
  2. load()方法 VS get()方法
    1. 都是根据OID从数据库中加载一个持久化对象
    2. 区别1: 假如数据库中不存在与OID对应的记录,load方法会抛出异常,而get()方法返回null;
    3. 区别2: load方法默认采用延迟加载策略, get方法采用立即检索策略
  3. update()方法: 将一个游离对象转化为持久化对象
  4. saveOrUpdate()方法: 包含save()和 update() 方法
  5. merge()方法: 合并对象
    1.   取得两次相同对象时,update 会异常,merge()成功执行
    2.  1     public void testMerge(){ 2         Session session = sessionFactory.openSession();    //生成一个新的session 3         session.beginTransaction();    //开启事物 4          5         Student stu = (Student) session.get(Student.class, Integer.valueOf(1)); 6         stu.setName("lisi"); 7          8         session.save(stu); 9         10         session.getTransaction().commit();    //提交事务11         session.close();                    //关闭session12         13         Session session1 = sessionFactory.openSession();    //生成一个新的session14         session1.beginTransaction();    //开启事物15         Student stu1 = (Student) session1.get(Student.class, Integer.valueOf(1));16         stu.setName("lisi1");17 //        session1.update(stu);        //异常18         session1.merge(stu);        //成功执行19         20         session1.getTransaction().commit();    //提交事务21         session1.close();                    //关闭session22     }
  6. delete()方法: 删除对象

Session常用方法