Tôi có một truy vấn mà trả Person
đối tượng mà tôi đang sử dụng để lấy một trang kết quả từ cơ sở dữ liệu:Làm thế nào để thực hiện truy vấn được phân trang bằng ScalaQuery?
def page(pageNumber:Int, pageSize:Int) : Seq[Person] = database.withSession {
val query = for(person <- People) yield person.mapped
val startIndex = (pageNumber - 1) * pageSize
query.list.slice(startIndex, startIndex + pageSize)
}
này hoạt động, nhưng tôi muốn biết nếu tôi có thể làm phân trang trong cơ sở dữ liệu, tương tự như với các phương pháp setFirstResult
và setMaxResults
của javax.persistence.Query
API, thay vì sử dụng slice
trên danh sách kết quả.
Bạn có thể vui lòng hiển thị hàng nhập của mình không? Tôi đã có một vấn đề đòi hỏi tôi phải sử dụng 'take (Int)' nhưng trình biên dịch nói rằng nó không phải là một thành viên ... – Ivan