我有一个用例,我需要找到客户的分页列表,其中客户看起来像这样:
@Entity
public class Customer {
@Id
private Long id;
private String firstName;
private String lastName;
private String phone;
private String mail;
}
然后我有了我的存储库界面
public interface CustomerRepository extends PagingAndSortingRepository<Customer, Long> {
Optional<Customer> findById(Long id);
...
}
我的界面扩展了分页和排序存储库以提供可分页的结果。
我还有一个输入框,用户可以在其中放置任何字符串。现在我想给他一个结果页面,其中包含其中一个字段(任何客户字段)中的输入字符串。
我不想使用命名查询。有没有一种聪明的方法,我可以通过分页和排序存储库来实现这一点,或者我是否需要使用规范接口并实现分页?
你不能只做:
@Query("select c from Customer c where c.firstName like :filter"
+ " or c.lastName like :filter or c.emailAddress like :filter.......")
Page<Customer> filter(@Param("filter") String filter);
或者,您可以使用QueryDsl。
扩展附加接口:
public interface CustomerRepository extends PagingAndSortingRepository<Customer, Long>, QueryDslPredicateExecutor<Customer>{
}
添加相关的构建工具:
然后可以调用继承的方法:
Page<Customer> findAll(Predicate predicate, Pageable pageable)
使用方式如下:
Page<Customer> page =repo.findAll(QCustomer.customer.firstName.like(filter)
.or(QCustomer.customer.lastName.like(filter).or(...));
引用:
https://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/
我需要在身份验证后从LDAP中检索各种值,如描述、办公室等。 我已经能够完成身份验证,但无法检索其他值。 我应该使用什么名称来检索完整的数据?? 请帮助。 我的代码如下:
我还没有为索引创建任何显式设置。谢了。
//错误
但我得到以下错误: 我错在哪里?
问题内容: 我想使用itext生成pdf。我会在某些时候添加内容以进行分页。我需要插入几个单独的conenidos依赖源,所以我要求用户在单独的页面上插入。有任何想法吗??? 问题答案: 调用告诉iText将后续对象放置在新页面上。仅当您放置下一个对象时,才会真正创建新页面。另外,仅在当前页面不为空白时创建一个新页面;否则,仅创建一个新页面。否则,它将被忽略;您可以用来克服这一点。 请参见下面的链
问题内容: 我有一个内存中大约有1000个项目的数据集,正在尝试为此数据集创建一个传呼机,但是我不确定如何执行此操作。 我使用的是自定义过滤器功能来过滤结果,效果很好,但是以某种方式我需要获取页面数。 有什么线索吗? 问题答案: 查看UI Bootstrap的分页指令。我最终使用了它,而不是使用此处发布的内容,因为它具有当前使用的足够功能,并且具有详尽的测试规范。 视图 控制者 我做了一个工作的小