在我的网络应用中,我想搜索Lucene创建的索引,并获得前100个结果。
这100个结果是我自己定义的类Document(包含名称title,category和content等的字段)。我将这些放入列表中,但在org.springframework.data.domain.Page
和org.springframework.data.domain.Pageable
的帮助下,我无法调整列表以进行分页。
我知道我可以实现一个扩展JpaRepository
或PagingAndSortingRepository
的自定义存储库
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
...
public interface Document Repository extends JpaRepository<Document, Long> {
@Query("SELECT d FROM document d WHERE d.category = :category")
Page<Document> findByCategory(@Param("category") String category,
Pageable pageable);
}
但是在这种情况下,我不会从Lucene给出的数据库中获取数据。
所以我决定在List中收集结果。问题是我必须将List转换为Page来制作分页。
有什么好的解决方案吗?我对Spring不是很熟悉。我不是自己尝试实施分页。
提前致谢。
答案 0 :(得分:0)
尝试以下代码:
@Query("SELECT d FROM document d WHERE d.category = :category",nativeQuery = true)
Page<Document> findByCategory(@Param("category") String category,
Pageable pageable);