Я пытаюсь отфильтровать некоторые данные из базы данных, используя between
CriteriaBuilder. Я использую java .util.Date для своих входных данных и столбцов сущностей. Я всегда получаю результаты по дате ввода - 1. Например, если моя дата ввода 16-12-2019, то я получаю данные и за 15-12-2019. Я не могу понять это странное поведение. Я использую метод ниже:
predicates.add(criteriaBuilder.between(root.get(Constants.COL_REGISTRATION_DATE),
registrationStartDate, registrationEndDate));
Я также пробовал метод ниже, но результат все тот же.
Predicate startDatePredicate = criteriaBuilder.greaterThanOrEqualTo(root.get(Constants.COL_REGISTRATION_DATE), registrationStartDate);
Predicate endDatePredicate = criteriaBuilder.lessThanOrEqualTo(root.get(Constants.COL_REGISTRATION_DATE), registrationEndDate);
predicates.add(criteriaBuilder.and(startDatePredicate, endDatePredicate));
Кто-нибудь сталкивался с такими проблемами. Пожалуйста, помогите мне разобраться.