【java】spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解
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语句,求那位大神看见,教下我,本人非常感谢!一定一定关注你。
回答
去了解下JPA的持久化上下文!
http://www.cnblogs.com/xiaolu...
从你的的截图来看,我并没看到哪里执行了update语句。按照我的使用经验来看,是要调用save方法才会更新的
应该是JPA发现你的对象dirty,在Transaction commit之前自动执行了。
以上是 【java】spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解 的全部内容, 来源链接: utcz.com/a/74301.html