2012年6月28日

hibernate取得一条随机记录

摘要: 项目中要求随机取得user表的一条记录。用到hibernate,底层数据库是mysql.1.首先会想到一种方式:取出数据库中所有的记录,你懂的。一个List,然后list.get(new Random().nextInt(list.size));但显然查询了所有的记录,如果表特别大,效率可想而知。2. 可行的方式,应该是得到一个随机的主键,然后load.原生sql实现的方式是:select * from user order by rand() limit 1;插一句,很奇怪,有人说这种方式会慢慢的;还有朋友说这种方式rand()有可能返回null.我没有深入了解数据库的实现,但是我想:数据库 阅读全文

posted @ 2012-06-28 14:02 阳光总在风雨后001 阅读(2593) 评论(0) 推荐(0) 编辑

导航