物件的三種狀態(hibernate管理的物件)
阿新 • • 發佈:2018-11-03
-
臨時狀態
當物件被new出來的時候就是臨時狀態 -
持久狀態
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=測試]
-
遊離狀態
遊離狀態即是把session關閉後的狀態 -
各種狀態的物件是可以相互轉換