java - spring-data Jpa 不需要執(zhí)行save 語句,Set字段就可以自動執(zhí)行保存的方法?求解
問題描述
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;}); }
//進入斷點,通過后端查看打印結(jié)果,發(fā)現(xiàn)先執(zhí)行select語句,然后又執(zhí)行update語句,我不是很明白為什么set以后//不需要save方法,就可以update
跟代碼以后,走到這個方法,就執(zhí)行update語句,求那位大神看見,教下我,本人非常感謝!一定一定關(guān)注你。
問題解答
回答1:從你的的截圖來看,我并沒看到哪里執(zhí)行了update語句。按照我的使用經(jīng)驗來看,是要調(diào)用save方法才會更新的
回答2:應(yīng)該是JPA發(fā)現(xiàn)你的對象dirty,在Transaction commit之前自動執(zhí)行了。
