日出星辰

          Hibernate學習之三種狀態及生命周期(圖)

          三種狀態:

           

          生命周期:

          代碼表示:

          //三種狀態
          	public void testThreeState(){
          		TUser user=new TUser();
          		user.setName("spark");  //此時user處于Transient
          		
          		try {
          			Transaction tx=session.beginTransaction();
          			session.save(user); //user對象已經由hibernate納入管理器,處于persistent狀態
          			tx.commit();
          			session.close();   //user對象此時為Detached狀態,因為與其關聯的session已經關閉
          			
          			Transaction tx2=session2.beginTransaction();
          			session2.update(user);//user對象借助session2,由hibernate納入管理容器,恢復persistent狀態   update并沒有發送sql語句
          			user.setName("spark_1");//處于persistent狀態,其屬性變更將自動由hibernate固話到數據庫中   !!!!
          			tx2.commit();           //commit之前調用session.flush()在其中發送sql語句
          		} catch (HibernateException e) {
          			e.printStackTrace();
          		}
          	}
          

          posted on 2011-08-23 11:36 日出星辰 閱讀(91) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 襄城县| 邵东县| 万宁市| 右玉县| 旌德县| 蒙自县| 宣城市| 龙里县| 和林格尔县| 榆社县| 得荣县| 读书| 通化县| 临夏市| 收藏| 拜泉县| 桦川县| 浮山县| 东山县| 漳浦县| 桓台县| 图们市| 庆元县| 寿阳县| 察隅县| 翁源县| 兰西县| 沙田区| 英德市| 全南县| 辽中县| 米易县| 辽宁省| 张家界市| 巩义市| 临泽县| 辽中县| 浏阳市| 大港区| 饶河县| 衢州市|