hibernate对对象分为3种状态

来源:互联网 发布:好点的人才网源码 编辑:程序博客网 时间:2024/06/12 00:55
hibernate对对象分为3种状态:
transient:自由状态、临时状态。 VO (Value Object)。和数据库记录无关。非hibernate管理状态
persistent:持久状态。 PO  (Persistenct Object) 和数据库记录一一对应。hibernate管理状态
detached:游离状态、脱钩状态、脱管状态。VO (Value Object) 和数据库记录有关。非hibernate管理状态

              session.save/persist/            session.close/
 +-----------+   saveOrUpdate     +----------+   evict/clear    +-----------+  session.merge
 |           |------------------->|          |----------------->|           |----------------
 | transient |                    |persistent|                  | detached  |                |
 |           |<-------------------|          |<-----------------|           |<---------------
 +-----------+   session.delete   +----------+  session.update/ +-----------+
                                    ^      |     saveOrUpdate                       
                                    |      |     
               session.load/get/    |      |session.flush/
                 query.list/iterate/|      |tx.commit  
                 query.scroll       |      |     
                                    |      v     
                                  +==========+  
                                  |          |  
                                  | database |  
                                  |          |  
                                  +==========+
原创粉丝点击