日出星辰

          Hibernate學(xué)習(xí)之三種狀態(tài)及生命周期(圖)

          三種狀態(tài):

           

          生命周期:

          代碼表示:

          //三種狀態(tài)
          	public void testThreeState(){
          		TUser user=new TUser();
          		user.setName("spark");  //此時(shí)user處于Transient
          		
          		try {
          			Transaction tx=session.beginTransaction();
          			session.save(user); //user對(duì)象已經(jīng)由hibernate納入管理器,處于persistent狀態(tài)
          			tx.commit();
          			session.close();   //user對(duì)象此時(shí)為Detached狀態(tài),因?yàn)榕c其關(guān)聯(lián)的session已經(jīng)關(guān)閉
          			
          			Transaction tx2=session2.beginTransaction();
          			session2.update(user);//user對(duì)象借助session2,由hibernate納入管理容器,恢復(fù)persistent狀態(tài)   update并沒(méi)有發(fā)送sql語(yǔ)句
          			user.setName("spark_1");//處于persistent狀態(tài),其屬性變更將自動(dòng)由hibernate固話到數(shù)據(jù)庫(kù)中   !!!!
          			tx2.commit();           //commit之前調(diào)用session.flush()在其中發(fā)送sql語(yǔ)句
          		} catch (HibernateException e) {
          			e.printStackTrace();
          		}
          	}
          

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 芮城县| 宜丰县| 大埔县| 宁陕县| 龙门县| 罗城| 罗山县| 工布江达县| 潼南县| 平凉市| 商水县| 安化县| 南岸区| 吴忠市| 泾阳县| 沙田区| 乐东| 阿勒泰市| 西盟| 湄潭县| 旺苍县| 广丰县| 庄河市| 方山县| 麻阳| 洪雅县| 神池县| 文山县| 临猗县| 博罗县| 苏尼特右旗| 逊克县| 巫山县| 彩票| 来安县| 三都| 桐城市| 崇阳县| 元阳县| 彩票| 凉城县|