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