素材牛VIP会员
spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解
 wz***16  分类:Java代码  人气:2685  回帖:5  发布于6年前 收藏
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语句,求那位大神看见,教下我,本人非常感谢!一定一定关注你。

 标签:jpaspringbootjava

讨论这个帖子(5)垃圾回帖将一律封号处理……

Lv5 码农
sh***ao 职业无 6年前#1

从你的的截图来看,我并没看到哪里执行了update语句。按照我的使用经验来看,是要调用save方法才会更新的

Lv4 码徒
骑***火 技术总监 6年前#2

Lv3 码奴
吻***烟 技术总监 6年前#3

去了解下JPA的持久化上下文!

Lv6 码匠
坐***来 技术总监 6年前#4

应该是JPA发现你的对象dirty,在Transaction commit之前自动执行了。

Lv6 码匠
飞***n 技术总监 6年前#5

http://www.cnblogs.com/xiaolu...

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取