对象的三种状态(hibernate管理的对象)

在这里插入图片描述

  1. 临时状态
    当对象被new出来的时候就是临时状态

  2. 持久状态
    hibernate通过管理对象来操作数据库,这里对象指的是持久态的对象

代码:

// 测试 
		
	 //调用自己写的方法获取到session	
     Session session = HibernateUtils.openSession();
     
  
	 //查询一个学生
	 Student s = session.get(Student.class, 22);
	 
	 //提交事务
	 session.beginTransaction().commit();
	
	 
	 //输出学生
	 System.out.println(s.toString());
	 
	 //修改对象,即可修改数据库数据
     s.setSname("测试");
     
     //提交事务
     session.beginTransaction().commit();
     

     //再查询一遍这个学生
     Student s2 = session.get(Student.class, 22);
     
     //提交事务
     session.beginTransaction().commit();
     
	 //输出学生
	 System.out.println(s2.toString());
       

控制台:

Hibernate: 
    select
        student0_.sid as sid1_0_0_,
        student0_.sname as sname2_0_0_ 
    from
        t_hibernate_student student0_ 
    where
        student0_.sid=?
Student [sid=22, sname=小明]
Hibernate: 
    update
        t_hibernate_student 
    set
        sname=? 
    where
        sid=?
Student [sid=22, sname=测试]

  1. 游离状态
    游离状态即是把session关闭后的状态

  2. 各种状态的对象是可以相互转换

猜你喜欢

转载自blog.csdn.net/zimuliusu/article/details/83277502