• Hibernate---缓存


            Hibernate---缓存(更深层次理解hibernate中对象的操作)

     作用:提高效率

      一级缓存:示意图:

      

        线程级别缓存session缓存,代碼来说事 

    package com.huhu.b_cache;
    
    import com.huhu.domain.User;
    import com.huhu.utils.HibernateUtils;
    import org.hibernate.Session;
    
    /**
     * 对象的三种状态
     */
    public class HibernateDemo2 {
    
    
        //session缓存的存在
        public void fun1() {
            Session session = HibernateUtils.openSession();
            session.beginTransaction();
            //--------------------------------------
            //发送select語句,从数据库取出记录,并封装成对象
            //持久话对象==>存到缓存
            User u1 = (User) session.get(User.class, 4);
            System.out.println("放入缓存");
            //再次查找是再缓存中查找,不答应sql语句
            User u2 = (User) session.get(User.class, 4);
            User u3 = (User) session.get(User.class, 4);
            System.out.println("使用的是否是同一个session:");
            System.out.println(u1==u2);
            System.out.println(u1==u3);
            //--------------------------------------
            session.getTransaction().commit();
            session.close();
        }
    
    
        public static void main(String[] args) {
            HibernateDemo2 d = new HibernateDemo2();
            d.fun1();
        }
    }  

    session中的快照:

      

    结果:

      

    总结:

      

      二级缓存:

        进程级别的缓存:Hibernate二级缓存

       

  • 相关阅读:
    java中判断文件存在与否
    crontab安装以及定时任务的执行
    su命令学习
    linux中如何查看哪些用户允许登录
    linux中的压缩文件的格式
    R语言学习(瑞士军刀)
    linux下mysql导入导出sql文件
    创建线程池的7种方法
    docker运行tomcat
    Docker之镜像
  • 原文地址:https://www.cnblogs.com/meiLinYa/p/9148070.html
Copyright © 2020-2023  润新知