class Foo {
Long id;
Date birthday;
}
class FooQo {
@QueryCondition(field="birthday", datePolicy=DatePolicy.START_OF_DAY, type=Condition.NOT_LESS_THAN)
Date startDate;
@QueryCondition(field="birthday", datePolicy=DatePolicy.END_OF_DAY, type=Condition.NOT_GREATER_THAN)
Date endDate;
}
FooQo fooQo = new FooQo("foo", "2019-01-01", "2019-01-01");
Specification<Foo> specification = SpecificationFactory.getSpecification(fooQo);
List<Foo> foos = fooRepository.findAll(specification);
SELECT * FROM FOO
WHERE FOO.BIRTHDAY >= '2019-01-01 00:00:00'
AND FOO.BIRTHDAY <= '2019-01-01 23:59:59';