hibernate三种状态:Hibernate中po对象的 3种状态分析

     Hibernate状态   hibernate各种保存方式区(save,persist,update,saveOrUpdte,merge,flush,lock)及 对象 3种状态

  hibernate保存

  hibernate对于对象保存提供了太多思路方法他们的间有很多区别这里细说以便区别

  、预备知识

  在所有的前介绍说明对于hibernate对象有 3种状态transient、persistent、detached

  下边是常见翻译办法:

  transient:瞬态或者自由态

  ( DeptPo(1,”行政部”,20,”行政相关”)该po例子和session没有关联该po例子处于transient)

  persistent:持久化状态

  (和数据库中记录想影射Po例子状态是persistent, 通过get和load等得到对象都是persistent)

  detached:脱管状态或者游离态

  (1)当通过get或load思路方法得到po对象它们都处于persistent,但如果执行delete(po)时(但不能执行事务),该po状态就处于detached, (表示和session脱离关联),因delete而变成游离态可以通过save或saveOrUpdate变成持久态

  (2)当把session关闭时session缓存Cache中persistentpo对象也变成detached

  因关闭session而变成游离态可以通过lock、save、update变成持久态

  持久态例子可以通过 delete变成脱管状态

  通过get或load思路方法得到例子都是持久化状态

  脱管状态例子可以通过lock或者replicate进行持久化

  save和persist将会引发SQLINSERTdelete会引发SQLDELETE

  而update或merge会引发SQL UPDATE对持久化(persistent)例子修改在刷新提交时候会被检测到它也会引起SQL UPDATE

  saveOrUpdate或者replicate会引发SQLINSERT或者UPDATE


="xspace-totlerecord">3="xspace-totlepages">1/3="xspace-current">123>
Tags:  hibernate状态 hibernate对象 hibernatepo hibernate三种状态

延伸阅读

最新评论

发表评论