Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Hibernate (/JPA) страниране от страна на сървъра и MS SQL Server

Малко късен отговор, но може да бъде полезен, така че ще го публикувам. Имах точно същия проблем и главоболие, за да го проследя. Решението е да използвате org.hibernate.dialect.SQLServer2012Dialect който е включен в Hibernate 4.3.0. Генерираната заявка става (поставяне на реално дъмп на Hibernate без имена на колони и псевдоними):

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. Автоматично увеличаване на първичния ключ в SQL Server Management Studio 2012

  2. Вземете ConnectionString от app.config в c#

  3. Ускорено възстановяване на база данни в SQL Server 2019

  4. Как да съхранявате и извличате изображения в база данни на sql сървър чрез VB.NET

  5. Ефективен начин за четене на BLOB данни в C#/SQL 2005