sql >> Databáze >  >> RDS >> Mysql

Hibernate Criteria API:Získejte n náhodných řádků

Ve skutečnosti je to možné pomocí kritérií a trochy úprav. Zde je postup:

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();

jakákoliv Restrictions.sqlRestriction přidá klíčové slovo 'and'; takže pro zrušení jeho účinku přidáme fiktivní podmínku a vložíme naši funkci rand().



  1. innodb_lock_wait_timeout zvýšit časový limit

  2. Jak nakonfigurovat MySQL tak, aby rozlišovala malá a velká písmena

  3. Typy kurzoru SQL Server - Kurzor KEYSET | Kurz SQL Server / Kurz TSQL

  4. PostgreSQL předává data z rekurzivního CTE do funkce