suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - Spring-Data JPA muss die Save-Anweisung nicht ausführen, aber das Set-Feld kann die Save-Methode automatisch ausführen? Lösen

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;
        });
    
}

//Geben Sie den Haltepunkt ein, überprüfen Sie die Druckergebnisse über das Backend und stellen Sie fest, dass zuerst die Select-Anweisung und dann die Update-Anweisung ausgeführt wird. Ich verstehe nicht ganz, warum nach Set
//Sie können ohne aktualisieren Speichermethode

Nachdem ich den Code befolgt habe, bitte ich den Master, ihn mir beizubringen, wenn ich zu dieser Methode komme. Ich werde auf jeden Fall auf dich achten.

仅有的幸福仅有的幸福2824 Tage vor1537

Antworte allen(3)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-06-30 09:57:20

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

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-30 09:57:20

    Antwort
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-30 09:57:20

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

    Antwort
    0
  • StornierenAntwort