Hibernate----学习(4)----持久化对象的状态

1.站在持久化的角度, Hibernate 把对象分为 4 种状态:持久化状态, 临时状态, 游离状态, 删除状态.

   Session 的特定方法能使对象从一个状态转换到另一个状态.

2. 临时对象(Transient:

              –在使用代理主键的情况下, OID 通常为 null

              –不处于 Session 的缓存中

              –在数据库中没有对应的记录

3. 持久化对象(也叫”托管”)Persist):

             –OID 不为 null

             –位于 Session 缓存中

            –若在数据库中已经有和其对应的记录, 持久化对象和数据库中的相关记录对应

           –Session flush 缓存时, 会根据持久化对象的属性变化, 来同步更新数据库

           –在同一个 Session 实例的缓存中, 数据库表中的每条记录只对应唯一的持久化对象

4.删除对象(Removed)

           –在数据库中没有和其 OID 对应的记录

          –不再处于 Session 缓存中

          –一般情况下, 应用程序不该再使用被删除的对象

5.游离对象(也叫”脱管”) Detached):

          –OID 不为 null

           不再处于 Session 缓存中

           –一般情况需下, 游离对象是由持久化对象转变过来的, 因此在数据库中可能还存在与它对应的记录

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值