IllegalSelectQueryException and InvalidDataAccessApiUsageException
08:38 17 Jul 2023

I use Query annotation for my project. While I call query, I get IllegalSelectQueryException. I want to update status column which is on Reservation table with WHERE the PNR number exists.

@Repository
public interface ReservationRepository extends JpaRepository {
    @Query("UPDATE Reservation SET Status =:Status WHERE pnr =:pnr")
    String setStatus( @Param("Status")String Status,@Param("pnr") String pnr);
}

Error

org.springframework.dao.InvalidDataAccessApiUsageException: Expecting a SELECT query : UPDATE Reservation SET Status = :Status WHERE pnr = :pnr at Caused by: org.hibernate.query.IllegalSelectQueryException: Expecting a SELECT Query [org.hibernate.query.sqm.tree.select.SqmSelectStatement], but found org.hibernate.query.sqm.tree.update.SqmUpdateStatement [UPDATE Reservation SET Status = :Status WHERE pnr = :pnr] at org.hibernate.query.sqm.internal.SqmUtil.verifyIsSelectStatement(SqmUtil.java:81) ~[hibernate-core-6.2.5.Final.jar:6.2.5.Final] at org.hibernate.query.sqm.internal.QuerySqmImpl.verifySelect(QuerySqmImpl.java:499) ~[hibernate-core-6.2.5.Final.jar:6.2.5.Final] ... 102 common frames omitted

I tried changing the query but nothing works

java sql spring exception jpa