Hibernate检索策略学习之--批量加载

系统 1536 0

所谓批量加载,即把原本要发送的SQL分批统一发送,比如说原本要发送100条SQL,如果设置batch-size=3,则只需要发送100/3+1=34条,可以提高效率

批量加载分为延迟加载和立即加载,先说立即加在

首先建立测试数据库

 



CREATE   TABLE  certificate (
  id 
varchar ( 100 NOT   NULL   default   '' ,
  description 
varchar ( 100 default   '' ,
  
PRIMARY   KEY   (id)
);





CREATE   TABLE  student (
  team_id 
varchar ( 100 default   '' ,
  id 
varchar ( 100 NOT   NULL   default   '' ,
  name 
varchar ( 20 default   '' ,
  cardId 
varchar ( 20 NOT   NULL   default   '' ,
  age 
int ( 11 default   ' 0 ' ,
  
PRIMARY   KEY   (id)
);


CREATE   TABLE  team (
  id 
varchar ( 100 NOT   NULL   default   '' ,
  teamName 
varchar ( 100 default   '' ,
  
PRIMARY   KEY   (id)
);


INSERT   INTO  student  VALUES  
(
' 5 ' , ' 1 ' , ' spark ' , ' 200211332 ' , 13 ),
(
' 4 ' , ' 2 ' , ' jerry ' , ' 200233332 ' , 23 ),
(
' 3 ' , ' 3 ' , ' adidas ' , ' 200231332 ' , 33 ),
(
' 2 ' , ' 4 ' , ' zhouxingchi ' , ' 200231132 ' , 43 ),
(
' 1 ' , ' 5 ' , ' tomclus ' , ' 200512345 ' , 53 ),
(
' 1 ' , ' 6 ' , ' tom ' , ' 200511345 ' , 63 );

INSERT   INTO  team  VALUES  
(
' 5 ' , ' team5 ' ),
(
' 4 ' , ' team4 ' ),
(
' 3 ' , ' team3 ' ),
(
' 2 ' , ' team2 ' ),
(
' 1 ' , ' team1 ' );

INSERT   INTO  certificate  VALUES  
(
' 1 ' , ' card1 ' ),
(
' 2 ' , ' card2 ' ),
(
' 3 ' , ' card3 ' ),
(
' 4 ' , ' card4 ' ),
(
' 5 ' , ' card5 ' ),
(
' 6 ' , ' card6 ' );

 

建立POJO对象

 

package  Search.immediately;

public   class  Certificate ......... ... {
    
private  String id;
    
private  String description;
    
private  Student stu;

    
public  Student getStu() ......... ... {
        
return  stu;
    }


    
public   void  setStu(Student stu) ......... ... {
        
this .stu  =  stu;
    }



    
public  String getDescription() ......... ... {
        
return  description;
    }


    
public   void  setDescription(String description) ......... ... {
        
this .description  =  description;
    }


    
public  String getId() ......... ... {
        
return  id;
    }


    
public   void  setId(String id) ......... ... {
        
this .id  =  id;
    }

}




package  Search.immediately;

import  java.util.HashSet;
import  java.util.Set;


public   class  Team ......... ... {
    
private  String id;
    
private  Set students = new  HashSet();
    
private  String teamName;
    
private  Set tests;
  
    
public  Set getTests() ......... ... {
        
return  tests;
    }

 
    
public   void  setTests(Set tests) ......... ... {
        
this .tests  =  tests;
    }


    
public  String getId() ......... ... {
        
return  id;
    }


    
public   void  setId(String id) ......... ... {
        
this .id  =  id;
    }


    
public  String getTeamName() ......... ... {
        
return  teamName;
    }


    
public   void  setTeamName(String name) ......... ... {
        
this .teamName  =  name;
    }


    
public  Set getStudents() ......... ... {
        
return  students;
    }


    
public   void  setStudents(Set students) ......... ... {
        
this .students  =  students;
    }

}




package  Search.immediately;

public   class  Certificate ......... ... {
    
private  String id;
    
private  String description;
    
private  Student stu;

    
public  Student getStu() ......... ... {
        
return  stu;
    }


    
public   void  setStu(Student stu) ......... ... {
        
this .stu  =  stu;
    }



    
public  String getDescription() ......... ... {
        
return  description;
    }


    
public   void  setDescription(String description) ......... ... {
        
this .description  =  description;
    }


    
public  String getId() ......... ... {
        
return  id;
    }

Hibernate检索策略学习之--批量加载


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论