文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>转:hibernate中的N+1问题

转:hibernate中的N+1问题

时间:2010-11-23  来源:phoebus0501

      在hibernate中,当进行一个表的查询时,当这个表与另外的表是多对一,或者是一对多关联时,就会出现N+1问题,当查询一条语句时,比如主键name=1,而与这个name相关联的另一张表对应name的有N个记录,这时就出另外发出N条语句去查询,而我又不要那些记录,这时就是N+1问题。

解决方法:

1。设置lazy=true;

2.在本类DTO中有关联另外表的表对象的声明,在他的get方法上面加上一个@fetch=fetchtype.lazy;

3.在关联的类上面设置@batchsize=2;这时就只发出两条语句。

4.用SQL来查询,写SQL语句时就写成联合查询的形式。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载