我有一个CustomPojo,其中有一个日期字段(testDate)。现在我想根据该日期字段的日期范围搜索此CustomPojo。我试图通过以下方式实现它,但不幸的是它不是过滤数据而是返回所有pojos。请提出任何建议。
*PojoRepository<CustomPojo, Long> customPojoRepo= getDbClient()
.newPojoRepository(CustomPojo.class, Long.class);
PojoQueryBuilder<CustomPojo> qb = customPojoRepo.getQueryBuilder();
StructuredQueryDefinition sqdef=
qb.and(qb.range("testDate", PojoQueryBuilder.Operator.GE, startCal.getTime()),
qb.range("testDate", PojoQueryBuilder.Operator.LE, endCal.getTime()));
PojoPage<CustomPojo> matchingObjs =
customPojoRepo.search(sqdef,
start);*
谢谢, 贾根
答案 0 :(得分:0)
您是否可以发布CustomPojo的定义,以及存储在db中的JSON doc示例。 PojoRepository的定义(如文档所述)适用于简单的CRUD方法,特别是从Pojo到JSON的确切序列(数据映射)未定义。使用查询,您需要知道字段的序列化名称,因为ML对Java不了解。此外,还会键入范围索引,而不定义范围索引,Pojo,JSON和endCal.getTime()无法确定您遇到的最可能的问题。
答案 1 :(得分:0)
我知道这并没有直接回答您的问题,但请注意,在PojoFacadeTest.java中使用TimeTest作为Pojo的日期进行范围查询的工作示例。要支持此bootstrap.xqy(which is run as a prerequisite to unit tests),请创建三个dateTime范围索引: