天天看點

SpringBoot jpa update

今天在寫東西的時候,用到springBoot,可是當想更新資料的時候,我想很多人和我一樣,第一想到的就是  User update(User    u);

很明顯我失敗了,說是沒有User這個實體,很明顯是因為在他的解析方法中不包含這一種,于是我又想到了這個

@Modifying
    @Query("update User u set u.password = :password where u.username = :username")
           
可是這樣的話我沒辦法直接傳對象,必須的一個一個屬性的傳,這當然不是我想要的,我嘗試了這樣
@Modifying
    @Query("update User u set  :condition")
           

我想把condition作為參數傳進去,結果也失敗了。

然後偶然的一次機會我才發現,jpa自動生成的save方法會先執行查詢方法,如果無就insert into,如果有就 update,是以其實想執行update,直接執行

User save(User  user);,這樣就可以得到update的效果啦

繼續閱讀