実際には、Criteriaと少しの調整で可能です。方法は次のとおりです。
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();
すべてのRestrictions.sqlRestrictionは、キーワード'と'を追加します。そのため、その効果を無効にするために、ダミー条件を追加し、rand()関数を挿入します。