Мой запрос:MarkLogic PojoRepository поиска диапазон Дата не работает
PojoQueryBuilder<CaseComment> queryBuilder = pojoRepository.getQueryBuilder();
LocalDateTime plusHours = LocalDateTime.now().plusHours(hours); //hours is -24
Date from = Date.from(plusHours.atZone(ZoneId.systemDefault()).toInstant());
PojoQueryDefinition query =
queryBuilder.filteredQuery(
queryBuilder.range("createdDate", Operator.GT, from)
);
PojoPage<CaseComment> results = pojoRepository.search(query,1);
Однако это возвращает меня все комментарии (24 записей), а не комментарии, которые были сделаны в течение последних 24 часов, которые просто должен быть 3 записей. Я уже добавил RangePathIndex (как dateTime), а формат даты по умолчанию - ObjectMapper для PojoRepository.
Смотрите этот пример JSON (обратите внимание на DateFormat по умолчанию ISO):
{
"com.xxx.domain.CaseComment": {
"id": 164,
"createdDate": {
"java.util.Date": "2016-07-27T22:49:00.000Z"
},
"createdBy": "xxx",
"updatedDate": {
"java.util.Date": "2016-07-27T22:49:00.000Z"
},
"updatedBy": "xxx",
"description": "comment",
"caseId": 69
}
}
Пожалуйста, помогите, я потерял целый день уже и не могу найти проблему?
Спасибо Сэм, я очень ценю ваш ответ. Мой коллега и я подозревали, что это был вложенный java.util.Date, который вызывал эту проблему, рад, что вы это подтвердили. Я попробую ваши рекомендуемые обходные пути, спасибо! –
Обходной путь был идеальным, спасибо снова Сэму! –