学习笔记4——hibernate中模型对象的三种状态

hibernate中session管理持久化对象时候的三种状态转变
分别为:1、transient 透明状态 2、persistent 持久化状态 3、detached托管状态
@Test
	public void testHibernateWith3Status(){
		
		Teacher t = new Teacher() ;
		t.setName("laoshi") ;
		t.setTitle("超级") ;	
		//视频28
		//此时t为状态1 transient状态,只在内存中存在,没有ID,也不在Session缓存中。
		System.out.println(t.getId()) ;//输出0
		
		Session session = sessionFactory.getCurrentSession() ;
		session.beginTransaction() ;
		
		session.save(t) ; //此时t为状态2 persistent状态,内存有,有ID,数据库有,也在Session缓存中
		System.out.println(t.getId()) ;//输出ID
		
		session.getTransaction().commit() ;//提交事务,对象脱离session管理
		
		//此时t为状态3 detached状态  内存有,有ID,数据库有,不在session缓存中,脱离管理
		System.out.println(t.getId());//输出ID
		
	}

你可能感兴趣的:(Hibernate)