hibernate 物件的狀態(臨時狀態,持久化狀態,遊離狀態)
阿新 • • 發佈:2019-02-07
物件的狀態
舉例: User user = new User();
Hibernate中物件的狀態: 臨時/瞬時狀態、持久化狀態、遊離狀態。
臨時狀態
特點:
直接new出來的物件;
不處於session的管理;
資料庫中沒有物件的記錄;
持久化狀態
當呼叫session的save/saveOrUpdate/get/load/list等方法的時候,物件就是持久化狀態。
處於持久化狀態的物件,當對物件屬性進行更改的時候,會反映到資料庫中!
特點:
處於session的管理;
資料庫中有對應的記錄;
遊離狀態
特點
不處於session的管理;
資料庫中有對應的記錄
Session關閉後,物件的狀態;
物件狀態的轉換,
@Test public void test(){ Session session = HibernateUtil.getSession(); Transaction transaction = session.beginTransaction(); User user =new User();//直接new出來的物件 此時資料庫中還沒有資料 這時的狀態是臨時狀態 user.setUserName("翁宗順");//當呼叫session的save/saveOrUpdate/get/load/list等方法的時候,物件就是持久化狀態。 session.save(user);// transaction.commit(); session.close(); System.out.println(user.getUserName);//資料庫中有資料 但是session關閉 在使用的物件就是遊離狀態 }