String hsql=" from Organization  porg left join fetch porg.childern as corg ";
        List<Organization> results=super.getSession().createQuery(hsql).setCacheable(true).list();
        当没有配置二级缓存,只配置查询缓存是
        第一次的sql为
     
InBlock.gif         select
InBlock.gif                organizati0_.ID as ID0_0_,
InBlock.gif                childern1_.ID as ID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_NAME as ORGANIZA2_0_0_,
InBlock.gif                organizati0_.ORGANIZATION_SN as ORGANIZA3_0_0_,
InBlock.gif                organizati0_.DESCRIPTION as DESCRIPT4_0_0_,
InBlock.gif                organizati0_.PID as PID0_0_,
InBlock.gif                organizati0_.ORGANIZATION_TEL as ORGANIZA6_0_0_,
InBlock.gif                organizati0_.ORDER_NUM as ORDER7_0_0_,
InBlock.gif                organizati0_.PERSON_ID as PERSON8_0_0_,
InBlock.gif                childern1_.ORGANIZATION_NAME as ORGANIZA2_0_1_,
InBlock.gif                childern1_.ORGANIZATION_SN as ORGANIZA3_0_1_,
InBlock.gif                childern1_.DESCRIPTION as DESCRIPT4_0_1_,
InBlock.gif                childern1_.PID as PID0_1_,
InBlock.gif                childern1_.ORGANIZATION_TEL as ORGANIZA6_0_1_,
InBlock.gif                childern1_.ORDER_NUM as ORDER7_0_1_,
InBlock.gif                childern1_.PERSON_ID as PERSON8_0_1_,
InBlock.gif                childern1_.PID as PID0__,
InBlock.gif                childern1_.ID as ID0__    
InBlock.gif        from
InBlock.gif                g_organization organizati0_    
InBlock.gif        left outer join
InBlock.gif                g_organization childern1_    
InBlock.gif                        on organizati0_.ID=childern1_.PID
InBlock.gif                        

            第二次sql为
          
InBlock.gif         select
InBlock.gif                organizati0_.ID as ID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_NAME as ORGANIZA2_0_1_,
InBlock.gif                organizati0_.ORGANIZATION_SN as ORGANIZA3_0_1_,
InBlock.gif                organizati0_.DESCRIPTION as DESCRIPT4_0_1_,
InBlock.gif                organizati0_.PID as PID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_TEL as ORGANIZA6_0_1_,
InBlock.gif                organizati0_.ORDER_NUM as ORDER7_0_1_,
InBlock.gif                organizati0_.PERSON_ID as PERSON8_0_1_,
InBlock.gif                childern1_.PID as PID3_,
InBlock.gif                childern1_.ID as ID3_,
InBlock.gif                childern1_.ID as ID0_0_,
InBlock.gif                childern1_.ORGANIZATION_NAME as ORGANIZA2_0_0_,
InBlock.gif                childern1_.ORGANIZATION_SN as ORGANIZA3_0_0_,
InBlock.gif                childern1_.DESCRIPTION as DESCRIPT4_0_0_,
InBlock.gif                childern1_.PID as PID0_0_,
InBlock.gif                childern1_.ORGANIZATION_TEL as ORGANIZA6_0_0_,
InBlock.gif                childern1_.ORDER_NUM as ORDER7_0_0_,
InBlock.gif                childern1_.PERSON_ID as PERSON8_0_0_    
InBlock.gif        from
InBlock.gif                g_organization organizati0_    
InBlock.gif        left outer join
InBlock.gif                g_organization childern1_    
InBlock.gif                        on organizati0_.ID=childern1_.PID    
InBlock.gif        where
InBlock.gif                organizati0_.ID=?
InBlock.gifHibernate:    
InBlock.gif        select
InBlock.gif                organizati0_.ID as ID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_NAME as ORGANIZA2_0_1_,
InBlock.gif                organizati0_.ORGANIZATION_SN as ORGANIZA3_0_1_,
InBlock.gif                organizati0_.DESCRIPTION as DESCRIPT4_0_1_,
InBlock.gif                organizati0_.PID as PID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_TEL as ORGANIZA6_0_1_,
InBlock.gif                organizati0_.ORDER_NUM as ORDER7_0_1_,
InBlock.gif                organizati0_.PERSON_ID as PERSON8_0_1_,
InBlock.gif                childern1_.PID as PID3_,
InBlock.gif                childern1_.ID as ID3_,
InBlock.gif                childern1_.ID as ID0_0_,
InBlock.gif                childern1_.ORGANIZATION_NAME as ORGANIZA2_0_0_,
InBlock.gif                childern1_.ORGANIZATION_SN as ORGANIZA3_0_0_,
InBlock.gif                childern1_.DESCRIPTION as DESCRIPT4_0_0_,
InBlock.gif                childern1_.PID as PID0_0_,
InBlock.gif                childern1_.ORGANIZATION_TEL as ORGANIZA6_0_0_,
InBlock.gif                childern1_.ORDER_NUM as ORDER7_0_0_,
InBlock.gif                childern1_.PERSON_ID as PERSON8_0_0_    
InBlock.gif        from
InBlock.gif                g_organization organizati0_    
InBlock.gif        left outer join
InBlock.gif                g_organization childern1_    
InBlock.gif                        on organizati0_.ID=childern1_.PID    
InBlock.gif        where
InBlock.gif                organizati0_.ID=?
        
     
            
            但当配置上二级缓存,不配置查询缓存的话。则第二次点击仍然会发出查询语句
          
InBlock.gif        select
InBlock.gif                     organizati0_.ID as ID0_0_,
InBlock.gif                     childern1_.ID as ID0_1_,
InBlock.gif                     organizati0_.ORGANIZATION_NAME as ORGANIZA2_0_0_,
InBlock.gif                     organizati0_.ORGANIZATION_SN as ORGANIZA3_0_0_,
InBlock.gif                     organizati0_.DESCRIPTION as DESCRIPT4_0_0_,
InBlock.gif                     organizati0_.PID as PID0_0_,
InBlock.gif                     organizati0_.ORGANIZATION_TEL as ORGANIZA6_0_0_,
InBlock.gif                     organizati0_.ORDER_NUM as ORDER7_0_0_,
InBlock.gif                     organizati0_.PERSON_ID as PERSON8_0_0_,
InBlock.gif                     childern1_.ORGANIZATION_NAME as ORGANIZA2_0_1_,
InBlock.gif                     childern1_.ORGANIZATION_SN as ORGANIZA3_0_1_,
InBlock.gif                     childern1_.DESCRIPTION as DESCRIPT4_0_1_,
InBlock.gif                     childern1_.PID as PID0_1_,
InBlock.gif                     childern1_.ORGANIZATION_TEL as ORGANIZA6_0_1_,
InBlock.gif                     childern1_.ORDER_NUM as ORDER7_0_1_,
InBlock.gif                     childern1_.PERSON_ID as PERSON8_0_1_,
InBlock.gif                     childern1_.PID as PID0__,
InBlock.gif                     childern1_.ID as ID0__    
InBlock.gif             from
InBlock.gif                     g_organization organizati0_    
InBlock.gif             left outer join
InBlock.gif                     g_organization childern1_    
InBlock.gif                             on organizati0_.ID=childern1_.PID
InBlock.gif                            

        但当配置了二级缓存,再配上查询缓存时。
         第一次为
         
InBlock.gif    select
InBlock.gif                organizati0_.ID as ID0_0_,
InBlock.gif                childern1_.ID as ID0_1_,
InBlock.gif                organizati0_.ORGANIZATION_NAME as ORGANIZA2_0_0_,
InBlock.gif                organizati0_.ORGANIZATION_SN as ORGANIZA3_0_0_,
InBlock.gif                organizati0_.DESCRIPTION as DESCRIPT4_0_0_,
InBlock.gif                organizati0_.PID as PID0_0_,
InBlock.gif                organizati0_.ORGANIZATION_TEL as ORGANIZA6_0_0_,
InBlock.gif                organizati0_.ORDER_NUM as ORDER7_0_0_,
InBlock.gif                organizati0_.PERSON_ID as PERSON8_0_0_,
InBlock.gif                childern1_.ORGANIZATION_NAME as ORGANIZA2_0_1_,
InBlock.gif                childern1_.ORGANIZATION_SN as ORGANIZA3_0_1_,
InBlock.gif                childern1_.DESCRIPTION as DESCRIPT4_0_1_,
InBlock.gif                childern1_.PID as PID0_1_,
InBlock.gif                childern1_.ORGANIZATION_TEL as ORGANIZA6_0_1_,
InBlock.gif                childern1_.ORDER_NUM as ORDER7_0_1_,
InBlock.gif                childern1_.PERSON_ID as PERSON8_0_1_,
InBlock.gif                childern1_.PID as PID0__,
InBlock.gif                childern1_.ID as ID0__    
InBlock.gif        from
InBlock.gif                g_organization organizati0_    
InBlock.gif        left outer join
InBlock.gif                g_organization childern1_    
InBlock.gif                        on organizati0_.ID=childern1_.PID
InBlock.gif                        

            而第二次 则直接从内存中获取了。