天天看点

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();
           

继续阅读