工作生活

object references an unsaved tra

2019-07-01  本文已影响0人  大继

解决办法

UserPassword userPassword = userPasswordRepository.findByUserId(userId);
        //兼容空
        if(userPassword == null){
            userPassword = new UserPassword();
            userPassword.setId(UUID.randomUUID().toString());
            userPassword.setCreateTime(new Date());
            userPassword.setUserId(userId);
            userPassword.setNonExpired(true);
            userPassword.setUpdateTime(new Date());
            userPassword.setPassword(passwordEncoder.encode(newRawPassword));

            userPasswordRepository.save(userPassword);

            User user =  userRepository.findById(userId).get();
            user.setUserPassword(userPassword);
            userRepository.save(user);
        }else {
            userPassword.setUpdateTime(new Date());
            userPassword.setPassword(passwordEncoder.encode(newRawPassword));
            userPasswordRepository.save(userPassword);
        }

        return userPassword;

改成

UserPassword userPassword = userPasswordRepository.findByUserId(userId);
      //兼容空
      if(userPassword == null){
          userPassword = new UserPassword();
          userPassword.setId(UUID.randomUUID().toString());
          userPassword.setCreateTime(new Date());
          userPassword.setUserId(userId);
          userPassword.setNonExpired(true);
          userPassword.setUpdateTime(new Date());
          userPassword.setPassword(passwordEncoder.encode(newRawPassword));

          userPassword = userPasswordRepository.save(userPassword);

          User user =  userRepository.findById(userId).get();
          user.setUserPassword(userPassword);
          userRepository.save(user);
      }else {
          userPassword.setUpdateTime(new Date());
          userPassword.setPassword(passwordEncoder.encode(newRawPassword));
          userPasswordRepository.save(userPassword);
      }

      return userPassword;

在JPA使用的时候很是诡异

上一篇 下一篇

猜你喜欢

热点阅读