object references an unsaved transient instance - save the transient instance before flushing

解决办法

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使用的时候很是诡异

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨晚梦见爸爸死了,一阵大哭,一脸不可置信,从听到消息,到梦醒,都觉得这个消息是假的,从未相信。 我一直做梦,很长时...
    摘星贼阅读 1,014评论 0 0
  • 冷凝尔和月飞飞加从莫林岛回来回到D市机场,大小助理拖上十几个大箱子,浩浩荡荡从机场扫荡而过,简直比搬家还隆重,但她...
    嚒哒嚒哒阅读 1,404评论 0 0
  • 西元21世纪,一零年代的的某年6月,阴暗的大学宿舍内,小明同学正在收拾着自己的行李,要毕业了,学校再也不是可以安稳...
    兰陵笑笑聲阅读 3,715评论 1 0