如何在Spring Data中按示例查询在两个日期之间添加限制范围

我有一个有两个日期的类,我的搜索是动态的,Hibernate提供了Query By Example(QBE),但现在使用Spring Data的QBE。 问题是当创建QBE但文档限制ExampleMatcher的String类型时,我需要创建一个ExampleMatcher来搜索此日期之间的所有实体。

如何使用查询实例来实现这个?

我现在的替代方案是:

  • 创建一个hibernate dao并使用QBE和hibernate标准(Bye JPA:’()

  • 探索这个http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ (非常难看的代码)

类的示例属性:

private int id; private String property1; private String property2; private Date dateFirst; private Date dateSecond; 

相关:

  • http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#query-by-example.usage

  • 如何将多个日期搜索与Spring Data JPA的CrudRepository结合起来?

  • Spring Data JPA:按示例查询?

简短的回答是,你没有。 通过示例查询正是其名称所暗示的:您举例并且查询是基于给定字段的匹配构建的。 您也链接到的参考文档的“限制” 部分中也记录了这一点。

有关更高级的用例和谓词定义,请查看Querydsl支持。