Trên thực tế, nó có thể với Criteria và một chút tinh chỉnh. Đây là cách thực hiện:
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();
bất kỳ Restrictions.sqlRestriction sẽ thêm từ khoá 'và'; vì vậy để vô hiệu hóa hiệu ứng của nó, chúng tôi sẽ thêm một điều kiện giả và đưa vào hàm rand () của chúng tôi.