文章詳情頁
java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解
瀏覽:144日期:2023-10-20 18:35:54
問題描述
public Optional<User> requestPasswordReset(String mail) { return userRepository.findOneByEmail(mail).filter(User::getActivated) .map(user -> {// updata user.setResetKey(RandomUtil.generateResetKey()); user.setResetDate(Instant.now()); return user;}); }
//進入斷點,通過后端查看打印結果,發現先執行select語句,然后又執行update語句,我不是很明白為什么set以后//不需要save方法,就可以update
跟代碼以后,走到這個方法,就執行update語句,求那位大神看見,教下我,本人非常感謝!一定一定關注你。
問題解答
回答1:從你的的截圖來看,我并沒看到哪里執行了update語句。按照我的使用經驗來看,是要調用save方法才會更新的
回答2:應該是JPA發現你的對象dirty,在Transaction commit之前自動執行了。
標簽:
java
排行榜
