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

Phân trang ở chế độ Hibernate với các bảng đã tham gia

Phân trang không hoạt động với các bộ sưu tập đã kết hợp vì nó đếm tất cả các hàng thỏa mãn where vị từ (Hibernate không liên quan gì đến điều này, đó là cách cơ sở dữ liệu hoạt động, ví dụ: Oracle rownum ).

Cách thông thường để khắc phục điều này là sử dụng truy vấn con, để rownum (hoặc tương đương trong cơ sở dữ liệu được sử dụng) được áp dụng cho các hàng đã chọn của chỉ một bảng (hoặc các bảng được kết hợp có quan hệ với một).

Trong HQL:

select p from Parent p were p in (select c.parent from Child c where ...)

tiêu chí tương đương có thể được xây dựng theo cách tương tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng loạt và nhận lại id laravel

  2. Đang cài đặt magento, gặp lỗi kết nối cơ sở dữ liệu.

  3. Cập nhật nhiều hàng mysql

  4. Glassfish không tạo Tài nguyên JDBC

  5. Phân tích cú pháp một tệp xml và lưu trữ nó vào cơ sở dữ liệu