Unfortunately with JodaTime the only way around this is using the Between
keyword and use two DateTime
instances making up the day.
interface CustomerRepo extends Repository<CustomerModel, Long>{
List<CustomerModel> findByMemberShipDateBetween(DateTime start, DateTime end);
}
If your domain model used Java Date
s internally you could've used this style:
interface CustomerRepo extends Repository<CustomerModel, Long>{
List<CustomerModel> findByMemberShipDate(@Temporal(TemporalType.DATE) Date date);
}
Not the @Temporal
annotation is a custom Spring Data JPA one as the plain JPA one is currently not allowed on parameters. The reason that this only works with Java Date
s unfortunately is a limitation of the current JPAPIs. The setParameter(…)
method on Query
only takes a TemporalType
for parameters of type Date
. We could try converting the JodaTime objects on parameter binding but I guess the persistence providers will reject that due to the type mismatch then (Date
VS. DateTime
).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…