zoukankan      html  css  js  c++  java
  • Hibernate实体的三种状态是什么?各有什么特点?

    瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。

    瞬时态没有持久化标示符数据库中无对应记录当执行savepersist方法可以变成持久态

    持久态处于该状态的对象在数据库中具有对应的记录并拥有一个持久化标识如果是用hibernatedelete()方法对应的持久对象就变成瞬时对象因数据库中的对应数据已被删除该对象不再与数据库的记录关联当一个session执行close()clear()、evict()之后持久对象变成脱管对象此时持久对象会变成脱管对象此时该对象虽然具有数据库识别值但它已不在HIbernate持久层的管理之下
    持久对象具有如下特点
    1. session实例关联
    2. 在数据库中有与之关联的记录


    脱管态当与某持久对象关联的session被关闭后该持久对象转变为脱管对象当脱管对象被重新关联到session上时并再次转变成持久对象
    脱管对象拥有数据库的识别值可通过update()、saveOrUpdate()等方法转变成持久对象
    脱管对象具有如下特点
    1. 本质上与瞬时对象相同在没有任何变量引用它时,JVM会在适当的时候将它回收
    2. 比瞬时对象多了一个数据库记录标识值

    Java Program!
  • 相关阅读:
    展示
    发布说明
    团队作业Week14
    Scrum Meeting NO.10
    Scrum Meeting NO.9
    Scrum Meeting NO.8
    Scrum Meeting NO.7
    Scrum Meeting NO.6
    ES6/ES2015核心内容
    用React & Webpack构建前端新闻网页
  • 原文地址:https://www.cnblogs.com/programb/p/12995927.html
Copyright © 2011-2022 走看看