天天看點

Hibernate中操作處于managed/persistent狀态的Entity對象

在持久化上下文(如Session或EntityManager)中管理下的的Entity對象,其狀态為managed/persistent的。

這樣的Entity對象随時可能被Hibernate應用操作,所有的修改都暫時保持在持久化上下文中。在持久化上下文關閉或flush的時候,對Entity對象的所有修改都将自動被同步儲存到資料庫中。

通常無需在Hibernate應用中進行任何同步存儲的操作。不過,可以顯式調用持久化上下文的flush()方法以主動同步儲存。

Native API示例如下:

Person person = session.byId( Person.class ).load( personId );
person.setName("John Doe");
session.flush();
           

JPA API示例如下:

Person person = entityManager.find( Person.class, personId );
person.setName("John Doe");
entityManager.flush();
           

繼續閱讀