zoukankan      html  css  js  c++  java
  • hibernate实体的几种状态:

    hibernate实体的几种状态:


     实体的生命周期中,实体主要经过瞬时(Transient),托管(Attatched或Managed),游离(Detached)和销毁(Removed)四个状态.


     瞬时状态:是指对象被new之后尚未保存到数据库,一旦服务器停止,JVM会回收它所占的内存资源,此时对象没有与session关联.


     托管状态:在数据库中已有数据与之对应,且与session相关联。实体状态转换到托管状态的方法:
      A.调用persist(),实体从游离转变到托管,最后变成持久化状态. 
      B.调用find()或Query执行查询,实体从持久变成托管.
      C.调用refresh(),游离实体将被重新加载,变成托管状态.
      D.调用merge(),将游离实体变成托管实体.


     游离状态:数据库中有数据与之对应但不在session的管理范围,它的属性不与数据库中持久化的实体同步.  
      实体从托管变成游离的情况有:
       A.当一个事务结束,实体超过持久化上下文作用域,实体变成游离态
       B.当复制实体对象或序列化时,实体将变成游离态
       C.调用clear方法时,所有的实体将强制转化为游离态


     销毁状态:是实体从数据库删除后的状态

  • 相关阅读:
    Ajax 异步请求返回集合遍历问题
    JS 类数组,字符串,转换成数组的方法
    laravel、TP、YII三个框架的优缺点对比
    纵深防御
    渗透测试小结
    常见的设计模式
    CDN简介
    WAF小介
    分布式事务及其常见的解决方案
    redis主从复制
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/5537876.html
Copyright © 2011-2022 走看看