Maison  >  Questions et réponses  >  le corps du texte

java - spring-data Jpa n'a pas besoin d'exécuter l'instruction save, mais le champ Set peut exécuter automatiquement la méthode save ? Résoudre

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

//Entrez le point d'arrêt, vérifiez les résultats d'impression via le backend et constatez que l'instruction select est exécutée en premier, puis l'instruction update est exécutée. Je ne comprends pas très bien pourquoi après set
//Vous pouvez mettre à jour sans le. méthode de sauvegarde

Après avoir suivi le code, lorsque j'arrive à cette méthode, j'exécute l'instruction de mise à jour. Je demande au maître de la voir et de m'apprendre, j'en suis très reconnaissant ! Je ferai certainement attention à vous.

仅有的幸福仅有的幸福2639 Il y a quelques jours1412

répondre à tous(3)je répondrai

  • phpcn_u1582

    phpcn_u15822017-06-30 09:57:20

    À en juger par votre capture d'écran, je n'ai pas vu où l'instruction de mise à jour a été exécutée. D'après mon expérience, il ne sera mis à jour que lorsque la méthode de sauvegarde sera appelée

    répondre
    0
  • 曾经蜡笔没有小新

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

    répondre
    0
  • 女神的闺蜜爱上我

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

    Il se peut que JPA ait découvert que votre objet est sale et l'ait automatiquement exécuté avant la validation de la transaction.

    répondre
    0
  • Annulerrépondre