केवल विनिर्देश में परिभाषित कार्यों को सभी जेपीए प्रदाताओं और RAND
. द्वारा समर्थित होने की गारंटी है या RANDOM
नहीं हैं। इसलिए मुझे नहीं लगता कि आप इसे JPQL में कर सकते हैं।
हालांकि, एचक्यूएल में यह संभव होगा (एचक्यूएल में क्लॉज द्वारा ऑर्डर डेटाबेस के माध्यम से पारित किया जाता है, ताकि आप किसी भी फ़ंक्शन का उपयोग कर सकें):
String query = "SELECT o.id FROM Order o ORDER BY random()";
Query q = em.createQuery(query);
q.setMaxResults(5);
लेकिन, मैं दोहराता हूं:
- हो सकता है कि यह किसी अन्य डेटाबेस के साथ काम न करे।
- हो सकता है कि यह किसी अन्य जेपीए प्रदाता के साथ काम न करे।