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是什么值就是瞬时态

  • 相关阅读:
    Java vs Python
    Compiled Language vs Scripting Language
    445. Add Two Numbers II
    213. House Robber II
    198. House Robber
    276. Paint Fence
    77. Combinations
    54. Spiral Matrix
    82. Remove Duplicates from Sorted List II
    80. Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4575687.html
Copyright © 2011-2022 走看看