Hanya fungsi yang ditentukan dalam spesifikasi yang dijamin didukung oleh semua penyedia JPA dan RAND
atau RANDOM
tidak. Jadi saya tidak berpikir Anda bisa melakukannya di JPQL.
Namun, itu mungkin di HQL (klausa urutan demi HQL diteruskan ke database, sehingga Anda dapat menggunakan fungsi apa pun):
String query = "SELECT o.id FROM Order o ORDER BY random()";
Query q = em.createQuery(query);
q.setMaxResults(5);
Tapi, saya ulangi:
- Ini mungkin tidak berfungsi dengan database lain.
- Ini mungkin tidak berfungsi dengan penyedia JPA lain.