Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Hibernacja (/JPA) stronicowania po stronie serwera i MS SQL Server

Trochę spóźniona odpowiedź, ale może być pomocna, więc ją opublikuję. Miałem dokładnie ten sam problem i ból głowy, żeby go wyśledzić. Rozwiązaniem jest użycie org.hibernate.dialect.SQLServer2012Dialect który jest zawarty w Hibernate 4.3.0. Wygenerowane zapytanie staje się (wklejenie prawdziwego zrzutu Hibernate bez nazw kolumn i aliasów):

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__ < ?

Zwróć uwagę na użycie wewnętrznego zapytania i Row_number() funkcjonować. W końcu to rozwiązali!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić zapytanie i wyniki w oddzielnej karcie w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL, część 15

  2. Jak połączyć wiele wierszy o tym samym identyfikatorze w sql?

  3. T-SQL usuwa wszystkie znaki inne niż alfanumeryczne i nienumeryczne

  4. ExecuteNonQuery zwraca -1 podczas używania sql COUNT pomimo ciągu zapytania

  5. order by newid() - jak to działa?