थोड़ी देर से प्रतिक्रिया, लेकिन यह मददगार हो सकती है इसलिए मैं इसे पोस्ट करूंगा। बिल्कुल वही समस्या थी और इसे ट्रैक करने के लिए सिरदर्द था। समाधान org.hibernate.dialect.SQLServer2012Dialect
का उपयोग करना है जो हाइबरनेट 4.3.0 में शामिल है। जेनरेट की गई क्वेरी बन जाती है (स्तंभ नामों और उपनामों के बिना वास्तविक हाइबरनेट डंप चिपकाना):
WITH query
AS (SELECT inner_query.*,
Row_number()
OVER (
ORDER BY CURRENT_TIMESTAMP) AS __hibernate_row_nr__
FROM (SELECT TOP(?) <COLUMN_NAMES> AS <ALIASES>
FROM <TABLE_NAME>
) inner_query)
SELECT <ALIASES>
FROM query
WHERE __hibernate_row_nr__ >= ?
AND __hibernate_row_nr__ < ?
आंतरिक क्वेरी के उपयोग पर ध्यान दें और Row_number()
समारोह। उन्होंने आखिरकार इसे सुलझा लिया!