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方法的时候就会直接进行保存。

  • 相关阅读:
    LeetCode Power of Three
    LeetCode Nim Game
    LeetCode,ugly number
    LeetCode Binary Tree Paths
    LeetCode Word Pattern
    LeetCode Bulls and Cows
    LeeCode Odd Even Linked List
    LeetCode twoSum
    549. Binary Tree Longest Consecutive Sequence II
    113. Path Sum II
  • 原文地址:https://www.cnblogs.com/tian830937/p/4456361.html
Copyright © 2011-2022 走看看