I would like to custom my queries with CrudRepository :
This is my code:
@Repository
public interface CustomerRepository extends CrudRepository
Your first problem is in your JPQL:
@Query("UPDATE customer c SET c.firstName = :firstName WHERE c.id = :id")
type to
@Query("UPDATE Customer c SET c.firstName = :firstName WHERE c.id = :id")
That is because JPQL wants the query's table name to match your Entity Class name.
Another problem could be that you are missing the @Modifying annotation:
@Modifying
@Query("UPDATE customer c SET c.firstName = :firstName WHERE c.id = :id")
Integer setNewFirstNameForId(@Param("firstName") String firstName, @Param("id") long id);
}
Every time you want modify by query, you should add the @Modifying anotation because Spring needs to know about it.