Mysql
 sql >> база данни >  >> RDS >> Mysql

API за критерии за хибернация:вземете 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();

всеки Restrictions.sqlRestriction ще добави ключова дума 'и'; така че, за да анулираме ефекта му, ще добавим фиктивно условие и ще инжектираме нашата функция rand().



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да съхранявате Java Date в Mysql datetime с JPA

  2. Ограничения на външния ключ при изхвърляне на данни

  3. Как да генерирам/автоматично инкрементираме водач при вмъкване без тригери и ръчни вмъквания в mysql?

  4. Как да променя MySQL таблица на UTF-8?

  5. Коя от тези 2 настройки на базата данни да избера?