与此问题非常相似:Check date between two other dates spring data jpa
但是,我正在尝试使用MongoDB和java.time.LocalDateTime
。
我试过了:
findAllByMetadataStartTimeBetween(start, end)
(有效,但独家开始/结束)findAllByMetadataStartTimeGreaterThanEqual(start)
(有效,但没有结束)但是,当我尝试:findAllByMetadataStartTimeGreaterThanEqualAndMetadataStartTimeLessThanEqual(start,end)
我收到错误:json can't serialize type : class java.time.LocalDateTime
任何想法为什么这个特定的组合会抛出这个错误,而之前的错误却没有?
答案 0 :(得分:0)
您必须进行自定义查询:
Query query = new Query(
new Criteria().andOperator(
Criteria.where("metadataStartTime").gte(start),
Criteria.where("metadataStartTime").lte(end)
)
);
return mongoTemplate.find(query, EntityName.class);
答案 1 :(得分:0)
尝试以下代码。我敢肯定,可以做到包容性
@Query("{'dateTime' : { $gte: ?0, $lte: ?1 } }")
List<YourObject> findByDateTimeBetween(Date from, Date to);
以下Spring数据方法签名仅适用于
public List<YourObject> findByDateBetween(Date from, Date to);