Sebenarnya itu mungkin dengan Kriteria dan sedikit penyesuaian. Begini caranya:
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();
setiap Restrictions.sqlRestriction akan menambahkan kata kunci 'dan'; jadi untuk meniadakan efeknya, kita akan menambahkan kondisi dummy dan menyuntikkan fungsi rand() kita.