开发者社区> 问答> 正文

如何在JpaRepository中将瞬态对象转换为持久状态?

由于由于新关键字而无法获取休眠会话,因此它失败了jparepository save。我正在尝试在Spring Boot安全性的服务层的junit测试中执行它。在调试之后,它的Method 失败了。

@Test
        public void signupUserTest() {          
            UserLogin userLogin = new UserLogin();//its not getting hibernate session
            BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
            String password = "Pranav@123";
            userLogin.setUsername("Pranav");
            userLogin.setPassword(encoder.encode(password));
            userLogin.setPasswordConfirm(encoder.encode(password));
            userLogin.setUserMail("wadt999patil@gmail.com");
            userLogin.setRole("ROLE_USER");
            logger.info(userLogin.getRole());

            secureLoginService.signupUser(userLogin);//passing object of userLogin

        }



    public void signupUser(UserLogin userLogin) {
            Authority authority =userAuthorityRepository.findByRole(userLogin.getRole());
            userLogin.setAuthorities((new HashSet<Authority>(Arrays.asList(authority))));
            UserLogin user = null;
            try {
                user = userLoginRepository.save(userLogin); 
            }
            catch(RecordNotFoundException e) {
                logger.error("Enter unique name" + e);
            }
            catch(Exception e) {
                e.printStackTrace();
            }
            if(user!=null) {
                if (userLogin.getUserMail() != null) {
                    mailSender(userLogin.getUserMail());
                }
            }
}

展开
收起
垚tutu 2019-12-26 18:20:36 824 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    说的这么高大上,不就是个保存操作

    2019-12-28 14:00:23
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载