Session session = HibernateSessionFactory.getSession();
Query query= session.createSQLQuery(
"select *from(select * from company order by dbms_random.value)where rownum <= 10")
.addEntity(Company.class);
List l=query.list();
采用SQL语句来实现随机查询,这样不同数据库下都可以实现,只是移植性不强,不过可以写个XML配置文件解决这个问题.