có thể đó là câu hỏi ngớ ngẩn nhưng tôi không thể tìm thấy câu trả lời trong tài liệu: Làm cách nào để đặt giới hạn cho CriteriaQuery bằng JPA2?jpa 2 giới hạn ngủ đông (kết quả tối đa) cho một CriteriaQuery
Cảm ơn
có thể đó là câu hỏi ngớ ngẩn nhưng tôi không thể tìm thấy câu trả lời trong tài liệu: Làm cách nào để đặt giới hạn cho CriteriaQuery bằng JPA2?jpa 2 giới hạn ngủ đông (kết quả tối đa) cho một CriteriaQuery
Cảm ơn
Một CriteriaQuery không phải là truy vấn có thể thực thi. Bạn cần tạo một TypedQuery đầu tiên bằng cách sử dụng EntityManager.createQuery(criteriaQuery)
. Sau đó bạn có thể thiết lập kết quả tối đa của điều này và thực hiện nó.
Bạn có thể xác định bù đắp/giới hạn như thế này:
return em.createQuery(query)
.setFirstResult(offset) // offset
.setMaxResults(limit) // limit
.getResultList();
Tôi thường sử dụng:
em.createQuery(criteria).setFirstResult(offset).setMaxResults(max).getResultList();
query.setMaxResults :) –