supber

导航

Hibernate对象的状态和生命周期

Hibernate 生命周期有3个状态:
 

  瞬时====save()/update()====》持久态

  持久态====delete()====》瞬时

  持久态====evict()/close()/clear()=====》游离

  游离====update()/save()/lock()====》持久态

  po====get()/load()====》持久态

   1.Transient(瞬时) 

   (1) 使用new初始化的对象不是立刻就持久化的

     (2)跟session没有任何关系

   (3)跟数据库没有任何关系,数据库没有对应的记录。

  2.Persist(持久态)  

     (1)和session 对象有关 ,以map的形式存入的session

   (2)数据库中有相应的记录

  3.Datached(游离)

      (1)和session对象无关

      (2)在数据库中有对应的记录。

  

  get()方法根据id的记录查找,如果没有返回null.

        查找顺序:session一级缓存----->session二级缓存------>数据库

  load()方法也是通过id,一般在我们可以保证这个记录存在的情况中使用。(懒加载)

 

posted on 2013-07-20 19:44  supber  阅读(214)  评论(0)    收藏  举报