Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Hibernate (/ JPA) phân trang phía máy chủ và MS SQL Server

Phản hồi hơi muộn một chút, nhưng nó có thể hữu ích nên tôi sẽ đăng nó. Gặp phải vấn đề chính xác và đau đầu để theo dõi nó. Giải pháp là sử dụng org.hibernate.dialect.SQLServer2012Dialect được bao gồm trong Hibernate 4.3.0. Truy vấn đã tạo sẽ trở thành (dán kết xuất Hibernate thực không có tên cột và bí danh):

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

Lưu ý việc sử dụng truy vấn bên trong và Row_number() hàm số. Cuối cùng họ đã giải quyết nó!



  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 Thay đổi Vị trí Tệp TempDB

  2. Cách chèn một cột vào cột khác trong cùng một bảng trong SQL Server

  3. Ví dụ về định dạng 'datetimeoffset' trong SQL Server bằng cách sử dụng chuỗi định dạng chuẩn (T-SQL)

  4. Tôi không chắc có gì sai khi khai báo các biến này trong SQL

  5. Mối quan hệ 1-1 với khóa chính khác nhau trong mã EF 6.1 Đầu tiên