Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

हाइबरनेट (/JPA) सर्वर-साइड पेजिंग और MS SQL सर्वर

थोड़ी देर से प्रतिक्रिया, लेकिन यह मददगार हो सकती है इसलिए मैं इसे पोस्ट करूंगा। बिल्कुल वही समस्या थी और इसे ट्रैक करने के लिए सिरदर्द था। समाधान 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() समारोह। उन्होंने आखिरकार इसे सुलझा लिया!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PIVOT SQL Server 2008 का उपयोग करते समय कॉलम का नाम बदलें

  2. SQL सर्वर 2005 क्वेरी का प्रदर्शन

  3. एंटिटी फ्रेमवर्क:Database.ExecuteSqlCommand Method

  4. SQL सर्वर लेनदेन लॉग पढ़ें

  5. DATEDIFF_BIG() SQL सर्वर में उदाहरण