zoukankan      html  css  js  c++  java
  • Hibernate对象状态

    对象状态

      瞬时(transient)

        自己new出来的对象,数据库没有记录与之对应,与session也没有关联

      持久(persistent)

        数据库中有记录与之对应,当前与session有关联,相关的session未关闭,事务未提交

        持久对象如果发生改变,Hibernate能够检测到,事务提交的时候会将改变后的数据提交给数据库

      脱管(detached,也有翻译成游离)

        数据库有记录与之对应,但没有与session关联,托管对象的改变Hibernate无法检测到


    使用场景

      对瞬时对象进行保存报错

      对脱管对象进行更新操作

      如果不清楚是瞬时还是脱管的,就执行saveOrUpdate或merge方法,由Hibernate判断是更新还是插入

        如果调用saveOrUpdate,那么对象会变成持久的,

        如果调用的是merge,那么对象还是脱管的

        id中可以设置unsaveed-value来决定id是什么值就是瞬时态

  • 相关阅读:
    RabbitMQ
    操作系统复习知识
    计算机网络相关知识复习
    转帖--Linux的文件检索(locate、find、which、whereis)
    go-ioutil
    使用wrk进行压测
    03x01 Java基础语法
    02x03 Hello World!!!
    02x02 环境搭建
    02x01 Java入门
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4575687.html
Copyright © 2011-2022 走看看