zoukankan      html  css  js  c++  java
  • hibernate的三种状态(儿)

    第五讲:hibernate的三种状态

    瞬时:bean对象与session,与数据库无关。在session对象的save方法保存之前。

    持久状态(托管):bean对象与session有关,数据库中有对应的记录。在save的保存方法之后,在session对象的关变之前。Session知道对象的变化,此时对象的变化即使在session保存对象之后session也可以把数据的变化保存在数据库中。(s.save--àstr.commit-----s.close)

    在这个过程中对象变化的话即为更新upddate(产生两条语句insert 和update语句)

    既update更新的对象处于持久状态中。

    当对象不知道处于是处于瞬时状态还是托管状态就用SaveOrupdate状态,让hibernate自己去判断是处于瞬时状态还是托管状态(hibernate会根据对象的id是否有值去判断是保存还是更新。若是有值则更新若是没有则保存  ,id为整形的则判断id是否为0。判断是保存还是更新。String 类型的则判断是否为空进行判断是更新还是保存

    持久状态:session对象关闭,与数据库无关。与session在session对关闭之后象(对应的对象ID有值)。

    Un-save主键默认sesssion为保存的值当id的值与Un-save的声明的值相等的时候就会直接进行不存在saveOrUpdate方法的时候就会直接进行保存。

  • 相关阅读:
    函数的声明
    数组遍历的方法
    运算符
    变量命名规则
    js条件判断
    vuex使用
    高盛伦敦分部面试
    野村证券伦敦分部面试
    Linux Performance Monitoring Commands
    Linux server上too many open files问题
  • 原文地址:https://www.cnblogs.com/tian830937/p/4456361.html
Copyright © 2011-2022 走看看