Question: I've got a class which contains an atttribute of java.time.LocalDateTime type.

```
public class MyClass{
    // ...
    private LocalDateTime fecha;
    // ...
}

```

I'm using Spring Data repositories. What I want to accomplish is to query entities according to a date:

```
@Service
public interface IRepository extends CrudRepository<MyClass, UUID> {
    // ...
    public void deleteByFecha(LocalDate fecha);
    // ...
}

```

But this does not work, as an exception is thrown:

> 
> org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [2016-10-05] did not match expected type [java.time.LocalDateTime (n/a)];
> 
> 
> 

So the question is how can I query MyClass in database by *fecha* but with a LocalDate?

*EDIT*
Just in case somebody faces the same issue, I've come up with one solution: modify the Repository's method so that it looks as follows:

```
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
// ...

@Service
public interface IRepository extends CrudRepository<MyClass, UUID> {

    @Transactional
    @Modifying
    @Query("DELETE FROM MyClass mtc WHERE YEAR(mtc.fecha)=?1 AND MONTH(mtc.fecha)=?2 AND DAY(mtc.fecha)=?3")
    public void deleteByFecha(Integer year, Integer month, Integer day);

}

```

Answer: 
Try this (not tested):

```
public interface IRepository extends CrudRepository<MyClass, UUID> {
    // ...
    default void delByFecha(LocalDate fecha) {

        deleteByFechaBetween(fecha.atStartOfDay(), fecha.plusDays(1).atStartOfDay());

    }

    void deleteByFechaBetween(LocalDateTime from, LocalDateTime to);
    // ...
}

```
I know that this one is a old issue, but for the future, who is with the same problem can use this solution:

```
 default void delByFecha(@RequestParam(name = "date") @DateTimeFormat(iso = ISO.DATE) LocalDate date)

```

It's works perfectly!