• Hibernate中对象的三种状态以及Session类中saveOrUpdate方法与merge方法的区别


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

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

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

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

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

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

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

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

     
    0
  • 相关阅读:
    UVa中国麻将(Chinese Mahjong,Uva 11210)
    Nginx-upstream模块
    Nginx-配置文件
    Nginx 负载均衡和反向代理实践
    Nginx-1
    linux下发送报警邮件(mailx)
    dns服务器搭建
    linux 时间相关
    Centos7调整swap分区
    rm 删除命令
  • 原文地址:https://www.cnblogs.com/jiligalaer/p/5564260.html
Copyright © 2020-2023  润新知