zoukankan      html  css  js  c++  java
  • [置顶] Hibernate运行机理

    Hibernate 的缓存体系
    一级缓存:
    Session 有一个内置的缓存,其中存放了被当前工作单元加载的对象。
    每个Session 都有自己独立的缓存,且只能被当前工作单元访问。
    二级缓存:
    SessionFactory的外置的可插拔的缓存插件。其中的数据可被多个Session共享访问。
    SessionFactory的内置缓存:存放了映射元数据,预定义的Sql语句。 


    Hibernate 中Java对象的状态


    1.临时状态 (transient)
       1不处于Session 缓存中
       2数据库中没有对象记录
    何时进入临时状态?
       1通过new语句刚创建一个对象时
       2当调用Session 的delete()方法,从Session 缓存中删除一个对象时。 


    2.持久化状态(persisted)
       1处于Session 缓存中
       2持久化对象数据库中设有对象记录
       3Session 在特定时刻会保持二者同步
    何时进入持久化状态?
       1Session 的save()把临时->持久化状态
       2Session 的load(),get()方法返回的对象
       3Session 的find()返回的list集合中存放的对象
       4Session 的update(),saveOrupdate()使游离->持久化


    3.游离状态(detached)
       1不再位于Session 缓存中
       2游离对象由持久化状态转变而来,数据库中可能还有对应记录。
    何时进入持久化状态?
       1Session 的close()方法
       2Session 的evict()方法,从缓存中删除一个对象。


     

    原文:http://blog.csdn.net/hongchangfirst/article/details/8111824

    作者:hongchangfirst

    hongchangfirst的主页:http://blog.csdn.net/hongchangfirst



  • 相关阅读:
    梦断代码阅读笔记一
    进度一
    LOJ#6031. 「雅礼集训 2017 Day1」字符串
    cf700E. Cool Slogans
    BZOJ1014: [JSOI2008]火星人prefix
    BZOJ2716: [Violet 3]天使玩偶
    cf1080F. Katya and Segments Sets
    BZOJ1354: [Baltic2005]Bus Trip
    灭绝树题集
    How Many Substrings?
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3278033.html
Copyright © 2011-2022 走看看