zoukankan      html  css  js  c++  java
  • Hibernate中对象的三种状态以及Session类中saveOrUpdate方法与merge方法的区别

    首先,用一张图说明一个对象,在Hibernate中,在调用了不同方法之后对象所处的不同状态

    在Hibernate中,一个对象的状态可以被分为如图所示的三种

    Transient:瞬时对象,该对象在数据库中没有与之相对应的记录,并且该对象与Session不相关

    Persistent:持久对象,该对象在数据库中有与之相对应的记录,并且该对象与Session相关

    Detached:分离对象,该对象在数据库中有与之相对应的记录,并且该对象与Session不相关

    三种状态中,除了持久对象之外,处于其他两种状态的对象,Session对其变化均不敏感

    Session类中saveOrUpdate方法与merge方法,都是让Hibernate自己判断某个对象是否是新加入的数据记录,还是对数据库中已有对象进行更新,区别就在于

    调用saveOrUpdate方法后,该对象会从瞬时或者分离状态变为持久状态,而调用merge之后,对象会保持分离状态。

     
    0
  • 相关阅读:
    Design Pattern Explained
    StringBuilder or StringBuffer
    Algorithms
    Difference between pages and blocks
    Date Time Calendar
    Math if fun
    Sublime Text
    Java Regex
    Learning C
    跨域通信/跨域上传浅析
  • 原文地址:https://www.cnblogs.com/jiligalaer/p/5564260.html
Copyright © 2011-2022 走看看