2017-06-16 4 views
0

こんにちは私はJava spring bootの初心者です。 Spring APIを使用してJPAクエリを使用してソフト削除を行う方法は?

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

しかし、誰もがこのために私を導くことができる私は、エラーが

を「結果セットを抽出できませんでした」取得しています:

adminRepo.updateAllActive(id); // method Call 

リポジトリ:私が使用して特定のレコードを変更しようとしていました。私はdatabase.Issueからエントリを読み取ることができます私は任意の変更クエリを試して発生します。

ありがとうございます。

+3

UPDATE'がQuery'は 'ResultSet'を期待@' 'ResultSet'を返すのではなく、SQL'なら、私を知ってみましょう... –

答えて

2

更新クエリは、影響を受けるエントリの数を示す整数値を返し、あなたは、カウントを気にしない場合は無効として、あなたのメソッドの戻り値の型を宣言する必要がありますので、voidを返すように上書きすることができます。

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

さらに、クエリを@Modifyingとマークする必要があります。更新クエリに関する詳細は、documentationを参照してください。

+0

ありがとうございます。出来た。 –

0

@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); 

それが正しい

関連する問題