hibernate缓存(一级缓存)

hibernate缓存
    好处:提高查询速度
    缓存一般对查询操作
   1、一级缓存
          一级缓存也叫session缓存、事物缓存
        session{
           Map<id,Object>  --session缓存
        }
       
        session缓存
        {
           1、get使用一级缓存
           2、load使用一级缓存
           3、save添加到一级缓存中
           4、对象属性查询不支持一级缓存
               String hql1 ="select u.username  from User u where u.userId=:userId";
                  不纳入到session缓存中
           5、查询一个对象
                String hql1="select u  from User u where u.userId=:userId";      
                    不支持一级缓存
           6、  QBC语句
               Criteria c1 = session.createCriteria(User.class);
                   不支持一级缓存
           7、一级缓存生命周期
                   一级缓存创建:
               与session同时创建        
                 
                   一级缓存清空 
                 session.close();
                 (1)清空一级缓存
                 (2)关闭连接
           8、一级缓存管理
                (1)通过evict(obj)放逐出session缓存中
                    某个对象
                  session.evict(obj)  
                (2)通过session.clear();清空session缓存中
                       所有对象
            9、一级缓存使用
           
            10、批量添加、删除
                 session.flush();
                 (1)执行SQL语句
                 (2)清空缓冲区,把缓存的数据添加到
                     文件中或者数据库中
                 (3)在执行session.getTransaction().commit();的时候,隐式执行session.flush()方法               
        }  

你可能感兴趣的:(hibernate java)