我使用的是spring数据MongoDB。我想使用我的存储库中的@Query
注释来查找数据模型对象的列表,该列表使用的ID是criteria对象中的一个字段,它嵌套在数据模型对象中。
此外,希望只获取指定日期范围之间的文档,以及返回到指定限制的记录数量的限制。感谢任何帮助,谢谢。
@Repository
public interface DataModelRepository extends MongoRepository<DataModel, String>{
@Query("{'Criteria.Id' :{ $in: ?0},{'Criteria.DateTimeSearch' : { $lt: ?1, $gt: ?2 }},{$limit :?3}")
List<DataModel> findAllBySearchCriteriaId(List<Integer> ids, Date toDate, Date fromDate, int limit);
}
您可以通过以下查询来实现这一点。
Page<DataModel> findByCriteria_IdInAndCriteria_DateTimeSearchBetween(
List<Integer> ids,
Date fromDate,
Date toDate,
Pageable pageable);
你不需要@Query
您可以使用以下命令查询此方法:
findByCriteria_IdInAndCriteria_DateTimeSearchBetween(...,
...,
...,
new PageRequest(0, 3);
我正在从事一个项目,该项目有一个带有查询的JPA存储库。其中一个查询在同一个查询中有以及,但它不能正常工作。 当我通过时,它返回大约,当我通过例如“MAR”时,它返回,这是没有意义的,因为没有过滤器的查询正在获取所有行。我观察到的是,在处,正在分割查询。他正在列表中寻找,使用
我想在中编写一个类似的查询,但它没有返回任何内容: -它不起作用。 一样完美。 以下是我的代码:
目前我一直在使用以下Spring JPA存储库自定义查询, 我需要修改这个查询时,筛选文本将是逗号分隔的值。但按照以下方式,它将是一个动态查询,我如何执行它。 我需要构建动态查询,
...除了这不存在。但这是关于我在这里想做什么。 或相反的: ...它获取每个GameCharacter的最早版本。为此,我已经尝试了,但显然Javers没有从最后开始计算版本。 这方面的Gradle依赖关系是:
..回购方法 我用DESC和ASC调用编写了一个单元测试,反之亦然,似乎第一个调用是什么,第二个调用给出的结果是一样的。