首页 > 其他分享 >Hibernate 随机获取100条记录

Hibernate 随机获取100条记录

时间:2023-02-19 11:05:45浏览次数:53  
标签:RAND Hibernate 随机 100 ORDER finder size


Hibernate执行的话效率太低,我数据库才3000条左右,就用了5秒时间。
建议用jdbc执行

finder = new Finder("")
.append(" FROM Event21 ORDER BY RAND() ");
int size = find(finder).size();
Random r = new Random();
finder.setMaxResults(100);
finder.setFirstResult(r.nextInt(size-100)+1);
return find(finder);




SQL文为:

SELECT * FROM finsh_21 ORDER BY RAND() LIMIT 100




但是Hibernate 里不支持 limit 所以用 first和max

标签:RAND,Hibernate,随机,100,ORDER,finder,size
From: https://blog.51cto.com/u_21817/6066612

相关文章

  • hibernate 把类输出成数据库表
      packagecom.hibernate.entity;importjava.io.Serializable;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id......
  • Hibernate annotation 一对多,多对一
     packagecom.hibernate.entity;importjava.io.Serializable;@EntitypublicclassTgroupimplementsSerializable{/****/privatestaticfinallongse......
  • Hibernate annotation 联合主键
    Hibernateannotation联合主键  packagecom.hibernate.entity;importjava.io.Serializable;importjavax.persistence.Entity;importjavax.persistence.GeneratedValu......
  • 用myeclipse的Hibernate 反向引擎 生成 数据库的 entity
    把Myeclipse转到DBBrowser 新建一个DatabaseConnectiondriver 然后找到要反向工程的表 右键->HibernateReverseEngineering然后,选好entity缩放的目录对CreatePO......
  • Hibernate 性能优化_1
    大概如此:不一定说在每个项目中都合适 1、比如,开了N多文件而没关,比如开了地址池而没清,比如分页读了N多页而没有清内存 2、对于ManyToOne,如果设为FetchType=Eager,则会产生1+......
  • Hibernate 的 join
    转的: 1.如果没有在Hibernate配置里做关联,在Hql里面是不能用join的。2.Hql里面的join是没有"ON"子句的。3.如果是innerjoin,Join的依据就是事先设计好关联4.如果要用......
  • Hibernate 性能优化_3
    二级缓存 对于二级缓存,其实并不一定要在项目中使用除非是对项目要求非常高的情况下使用 如果要用,应使用在:经常被访问,改动不大,数量不多,比如权限,比如组织机构 load()默认使......
  • Hibernate 性能优化_2
    createQuery("FROM****").list()和createQuery("FROM****").iterate()的区别 1、list()时,会取出所有的数据,Iterate()时,只取所有记录的主键,当用到哪条时,再根据id去取哪条......
  • C语言:100-200间所有 质数及和,按格式输出,最后没有逗号
      #include<stdio.h>main(){inta,b,c,d=0,sum=0;printf("100-200间所有质数:");for(a=100;a<=200;a++){c=0;for(b=2;b<a......
  • pat1008
    这个还是比较简单的1#include<iostream>2#include<stdio.h>3usingnamespacestd;45intmain()6{7intn,m;8scanf("%d%d",&n,&m);9......