sql >> Databasteknik >  >> RDS >> Mysql

Slumpmässigt valda rader via JPA

Endast de funktioner som definieras i specifikationen är garanterade att stödjas av alla JPA-leverantörer och RAND eller RANDOM är det inte. Så jag tror inte att du kan göra det i JPQL.

Det skulle dock vara möjligt i HQL (order efter klausul i HQL skickas vidare till databasen, så du kan använda vilken funktion som helst):

String query = "SELECT o.id FROM Order o ORDER BY random()";
Query q = em.createQuery(query);
q.setMaxResults(5);

Men jag upprepar:

  1. Detta kanske inte fungerar med en annan databas.
  2. Detta kanske inte fungerar med en annan JPA-leverantör.


  1. Oracle 11g - Unpivot

  2. Hämta data från MySQL i omgångar via Python

  3. SQL Server 2000 - Länkad server

  4. Så här kontrollerar du din PostgreSQL-version