You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:25:20