hibernate中处理对象的transient、persistent、detached三种状态

hibernate中处理对象的transient、persistent、detached三种状态
1、transient状态的特征:

  * 在数据库中没有与之匹配的数据

  * 没有纳入session的管理

  2、persistent状态的特征:

  * persistent状态的对象在数据库中有与之匹配的数据

  * 纳入了session的管理

  * 在清理缓存(脏数据检查)的时候,会和数据库同步

  3、detached状态的特征:

  * 在数据库中有与之匹配的数据

  * 没有纳入session的管理

Detached状态和Transient状态的差异

Transient(自由状态)状态的实体对象与库表中的记录无关,无法根据Transient对象中的信息在库中寻找到对应的记录

Detached(游离态)状态的对象,虽然与Session实例脱离,但是根据其中的信息,能够寻找到库中表对应的数据的记录。 比如某表对应ID的库表记录已经删除,则此对象与库表中的记录已经不存在对应关系,因此,它处于Transient状态

你可能感兴趣的:(Hibernate)