2017-06-16 3 views
0

Hallo Ich bin ein Anfänger in Java Spring Boot. Ich habe versucht, einen bestimmten Datensatz zu ändern, mit:Wie lösche ich mit JPA Query mit Spring API?

adminRepo.updateAllActive(id); // method Call 

Repository:

@Query(value= "update admin a set a.active = 0 where a.id = :id " ,nativeQuery=true) 
AdminEntity updateAllActive(@Param("id") Integer id); 

Aber ich bin immer Fehler „Konnte nicht Resultset extrahieren“

jemand mich für diese Führung kann. Ich bin in der Lage, Einträge aus der Datenbank zu lesen.Issue tritt nur auf, wenn ich eine Änderungsabfrage versuche.

Vielen Dank im Voraus.

+3

SQL 'UPDATE' kein' ResultSet' zurückkehrt, aber '@ Query' eine' ResultSet' erwartet ... –

Antwort

2

Update-Abfrage gibt einen ganzzahligen Wert die Anzahl der betroffenen Einträge anzeigt und nichtig zurückkehren überschrieben, so dass Sie Ihre Methode Rückgabetyp als nichtig erklären sollte, wenn Sie nicht über die Zählung ist es egal:

@Modifying 
@Query(value= "update admin a set a.active = 0 where a.id = :id" ,nativeQuery=true) 
void updateAllActive(@Param("id") Integer id); 

Außerdem müssen Sie Ihre Abfrage als @Modifying markieren, weitere Informationen zu Aktualisierungsabfragen finden Sie unter documentation.

+0

Danke. Es funktionierte. –

0

Beispiel

@Modifying 
    @Query("Update Users u SET u.userKey=:userKey, u.phoneNumberVerified=true, u.name=:name, u.surname=:surname, u.phoneNumberVerified=true WHERE u.phoneCode=:phoneCode AND u.phoneNumber=:phoneNumber ") 
    void updateUsers(@Param("userKey") String userKey, @Param("phoneCode") String phoneCode, 
      @Param("phoneNumber") String phoneNumber, @Param("name") String name, @Param("surname") String surname); 

Lassen Sie mich wissen, ob es richtig

Verwandte Themen