Faktisk er det muligt med kriterier og en lille smule tweaking. Sådan gør du:
Criteria criteria = session.createCriteria(Table.class);
criteria.add(Restrictions.eq("fieldVariable", anyValue));
criteria.add(Restrictions.sqlRestriction("1=1 order by rand()"));
criteria.setMaxResults(5);
return criteria.list();
enhver Restrictions.sqlRestriction vil tilføje nøgleordet 'og'; så for at annullere dens effekt, skal vi tilføje en dummy-betingelse og injicere vores rand()-funktion.