zoukankan      html  css  js  c++  java
  • hibernate 数据处理

    1.session到底如何进行脏检查?

    当一个Dept对象加入到Session缓存中时,  Session会为Dept对象的值类型的属性复制一份快照,当Session刷新缓存时,会进行脏检查,即比较Dept对象的当前属性和他的快照,来判断Dept对象的属性是否发生了变化,

    如果发生了变化,Session会根据脏对象的最新属性来执行相关的SQL语句,将变化更新到数据库中.

    2.OID

    用来持久化数据的唯一标识,在小配置里边的id标签中存在.

    2.主键生成策略.

    Uuid:32位的16进制数.

    3.PO VO DTO

    PO=javabean 

    pojo =javabean +小配置

    4.get和load()的区别?

    load():没有使用对象的其他属性的时候,没有sql   延迟加载

    get():没有使用对象的其他属性的时候,也生成了sql   立即加载

    是什么导致了延迟加载?

    解析:是因为内存中构建了代理对象.

    Handler:处理人

    5.session(线程非安全) SessionFactory (线程安全)

    PDF

    Session是线程非安全的

    主要是Sessionfactory 是借口,里边的方法全部用final修饰.

    6.java对象的三种状态

    持久态    

    Student stu =new Student():

    session.save(stu);

    session中有,DB中也有

    瞬时态

    Student stu =new Student();

    体现在DB和session中都没有

    游离态

    stu.setId(18);

    session中有,DB中没有

    session.close();

    DB中有,session中没有

    7.Session

    可以简单的理解成一个Connection

    Session是持久化对象的容器

    如果两个get()同一个oid,那么  第二次不在sql,说明了一级缓存的存在性.

    load()和get()都可以给缓存放入数据,和取出数据.

  • 相关阅读:
    费马定理
    JAVA大数模板
    扩展KMP模板
    KMP算法模板
    2018暑假遗留题目
    线段树模板(含区间最大(小)值)
    [USACO18OPEN]Out of Sorts G
    几道背包题
    两个有关素数的算法
    German Collegiate Programming Contest 2015 F. Divisions
  • 原文地址:https://www.cnblogs.com/myhome-1/p/5817811.html
Copyright © 2011-2022 走看看