如何在JPA中结合Example<S>实现无@Query的日期区间查询
Spring Data JPA:保留
Example<S>同时实现日期区间查询(无需@Query) 目前我在JPARepository中使用以下方法,它的易用性和在其他Entity上的可复用性让我很满意:
<S extends MyObject> Page<S> findAll(Example<S> example, Pageable pageRequest);
现在我想保留Example<S>的使用形式,同时实现日期区间查询,请问能不能不用@Query注解实现?我尝试定义了下面这个方法,但没有成功:
<S extends MyObject> Page<S> findByDateBetween(Date startDate, Date endDate, Example<S> example, Pageable pageRequest);
根据Spring Data JPA官方文档的说明:
Query by Example目前仅支持使用SingularAttribute属性进行属性匹配。
编辑1:
经过调研,我觉得唯一的办法是自定义查询,但我不想用这种方式——因为Example<S>包含大量属性,自定义查询会很繁琐。
编辑2:
我注意到FluentQuery似乎是实现这个需求的不错方案,但我不知道具体该怎么实现这类方法。
内容的提问来源于stack exchange,提问作者David González Arias
相关产品推荐
相关产品推荐

