ITEEDU

Hibernate持久对象的生命周期

瞬时态(transient)的特征

  1. 在数据库中没有与之匹配的数据
  2. 没有纳入session的管理

两种来源:

  1. 新建的POJO(简单JAVA对象)。
  2. 持久态bean删除操作后,数据库中没有对应数据,不在session管理范围,但bean还是存在的。

持久态(persistent)的特征

  1. persistent状态的对象在数据库中有与之匹配的数据
  2. 纳入了session的管理
  3. 在清理缓存(脏数据检查)的时候,会和数据库同步。即在commit()前所有对bean的修改都会在commit()时用update语句更新到数据库。

两种来源:

  1. 瞬时态的bean通过session保存到数据库。
  2. 通过session直接获取的实体bean。

游离态(detached)的特征

  1. 在数据库中有与之匹配的数据
  2. 没有纳入session的管理

来源:

清除缓存或关闭session会造成持久态bean没有sessin管理,变成游离态。Session对游离态的bean进行更新操作可以使之再纳入session管理范围,成为持久bean。