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

Điều khoản LIMIT thay thế trong JPQL là gì?

Bạn đang sử dụng JPQL không hỗ trợ giới hạn kết quả như thế này. Khi sử dụng JPQL gốc, bạn nên sử dụng setMaxResults để giới hạn kết quả.

Tuy nhiên, bạn đang sử dụng Spring Data JPA, điều này về cơ bản làm cho nó khá dễ dàng. Xem tại đây trong hướng dẫn tham khảo về cách giới hạn kết quả dựa trên truy vấn. Trong trường hợp của bạn, phương pháp tìm kiếm sau đây sẽ thực hiện chính xác những gì bạn muốn.

findFirstByOrderById();

Bạn cũng có thể sử dụng Pageable đối số với truy vấn của bạn thay vì LIMIT mệnh đề.

@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);

Sau đó, trong mã gọi điện của bạn, hãy làm như thế này (như đã giải thích tại đây trong hướng dẫn tham khảo).

getLastStudentDetails(PageRequest.of(0,1));

Cả hai sẽ mang lại cùng một kết quả mà không cần sử dụng đến SQL thuần túy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql - Làm cách nào để thực hiện tìm kiếm phân biệt chữ hoa chữ thường?

  2. Làm cách nào để thêm các điều kiện trong các mô hình con phụ trong phần tiếp theo, điều này sẽ ảnh hưởng đến Mô hình mẹ của tôi trong findAndCountAll?

  3. Kết nối / sử dụng MySQL tại localhost thay vì miền có nhanh hơn không (ngay cả khi miền phân giải trên cùng một máy tính)?

  4. Cách hiển thị đối chiếu máy chủ trong MySQL

  5. Nhiều khóa ngoại loại trừ lẫn nhau - đây có phải là cách để thực hiện?