在Hibernate中,持久化了的Entity对象的状态是managed/persistent。对持久化了的Entity对象执行删除操作,则Entity对象的状态变成removed。
removed状态的Entity对象可能仍然存在于Hibernate的缓存中,也可能仍然存在于数据库中,但是Hibernate同步缓存的时候将会同时从Hibernate缓存和数据库中删除。
对于Hibernate提供的Native API,还可以对detached状态的Entity对象执行删除操作,即对于如下示例中的person对象,其状态可能是managed/persistent的,也可能是detached的。
session.delete( person );
entityManager.remove( person );