【发布时间】:2021-10-13 21:51:33
【问题描述】:
我正在尝试为我的用户表实现搜索功能。我想创建一个 JpaRepository 方法,它会给我一个可分页的用户列表,这些用户的电子邮件包含给定的字符串,我该怎么做? 这是我试过的 存储库:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
Page<User> findByEmailContaining(String email, Pageable pageable);
}
发球:
public Page<User> findPaginatedEmail(int pageNo, int pageSize, String sortField, String sortDirection, String text) {
Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() :
Sort.by(sortField).descending();
Pageable pageable = PageRequest.of(pageNo - 1, pageSize, sort);
return this.userRepository.findByEmailContaining(text, pageable);
}
有时它可以工作并填充我的表格,有时则不能。问题是什么?如何实现?
它工作正常,但一段时间后它就坏了,我不知道为什么,然后它就找不到任何东西了
【问题讨论】:
-
现在,我发现了问题...该方法有效,但我在不同的页面(比如第 7 页)而不是第 1/2 页,每次我搜索它都会返回我一页或两页...但是在第 7 页上,我看到的是没有结果。
标签: spring spring-boot jpa spring-data-jpa