zoukankan      html  css  js  c++  java
  • day30_Hibernate复习_02

    一、对象的三种状态 和 一级缓存

      对象的三种状态:
        瞬时状态:没有ID,不在Session缓存中
        持久状态:有ID,在Session缓存中
        游离状态:有ID,不再Session缓存中

      特性:持久状态的对象,会自动将对象的变化同步到数据库中。

      一级缓存:
        是线程级别的缓存,在Session对象中。
        本质:Map集合。
        缓存的内容:对象。
        目的:减少sql语句发送,提高效率。
      快照:在事务提交之前,先对比快照与缓存中的对象,来决定是否需要更新数据库。

      细节:save和persist的区别?
        HQL、SQL、Criteria查询与缓存的关系
      其他api:
        evict(); 将缓存中的对象移除
        clear(); 清空一级缓存
        refresh(Object); 刷新 => 强制刷新缓存中的对象 => (可以用来解决缓存与数据库数据不同步的问题(局部解决))
        flush(); 对比快照,并提交缓存对象
        saveOrUpdate(Object); 可以同时完成保存或更新操作

    二、多表关系:一对多 和 多对一

      关系的配置:
        对象:在一的一方引用多的一方的集合。
             在多的一方,引用一的一方的对象。
        配置:

          一方:
            <set name="一的一方属性的集合名称" >
              <key column="多的一方的外键名称" />
              <one-to-many class="多的一方所属对象的完整类名" />
            </set>
          多方:
            <many-to-one name="多的一方属性的引用名称" column="多的一方的外键名称" class="一的一方所属对象的完整类名" />


        操作:
          inverse:是否将维护外键关系交给对方。注意: 只有一的一方可以放弃维护关系,多的一方不能放弃维护关系。
          cascade:
            save-update:级联保存和级联修改
            delete:级联删除
            delete-orphan:孤儿删除,删除主表不引用的对象,示例:孤儿删除(孤子删除),当订单为孤儿时,一并删除。客户仍存在。

            all:save-update + delete
            all-delete-orphan:save-update + delete + delete-orphan

  • 相关阅读:
    images have the “stationarity” property, which implies that features that are useful in one region are also likely to be useful for other regions.
    算法报告
    word2vec_basic.py
    Softmax_function
    Convex combination
    函数的光滑化或正则化 卷积 应用 两个统计独立变量X与Y的和的概率密度函数是X与Y的概率密度函数的卷积
    world embedding 嵌入
    dump json 显示中文问题
    dump json 显示中文问题
    perl $d = encode_utf8($r); $f = decode_json($d)
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/9296021.html
Copyright © 2011-2022 走看看