美文网首页
repository.save() 无效 无法保存数据

repository.save() 无效 无法保存数据

作者: 万全 | 来源:发表于2019-08-01 12:17 被阅读0次

    repository.save() 不起作用,无法保存数据

    有一个更新操作是需要先delete user的数据,然后再重新insert新的数据。

    刚开始使用以下写法:

    @Override
        public void updSenderNoList(LazyDynaMap userBean) {
            logger.info("////////////////   Start to update Sender No List.");
            SysUser sysUser = (SysUser) userBean.get("addUser");
            userSaRepository.deleteSenderNoList(sysUser.getAccountNo(),sysUser.getUserId());
            insertSenderNoList(userBean);
            logger.info("////////////////   End to update Sender No List.");
        }
        
    @Override
        public void insertSenderNoList(LazyDynaMap userBean) {
            logger.info("////////////////   Start to insert Sender No List.");
            SysUser addUser = (SysUser) userBean.get("addUser");
            String senderNoList = (String) userBean.get(Constants.BEAN_USER_SELECTSENDERLIST);
            if (StringUtil.isNotEmpty(senderNoList)) {
                List<UserSa> userSaList = new ArrayList<UserSa>();
                UserSa userSa = null;
                for (String senderNo : senderNoList.split(Constants.SENDER_NO_SEPARATOR)) {
                    userSa = new UserSa(addUser.getAccountNo(),addUser.getUserId(),senderNo);
                    userSaList.add(userSa);
                }
                userSaRepository.save(userSaList);
            }
            logger.info("////////////////   End to insert Sender No List.");
        }
    

    然后做测试时候发现是单单是这个updSenderNoList方法是可以insert数据的

    可是当整个模块一起测试的时候,发现可以delete数据,可是却无法insert数据

    搞了两个多小时,也想到可能是flush的问题,可是开始只是在delete后加了flush,发现没有效果

    最后想到在save后面加了flush,再次测试,成功insert数据,问题解决!!
    本来有一个saveAndFlush()方法的,可是这个方法的参数只能是单个实体,不能多个实体,需要批量save的话,只能save后再加flush()。

    PS:这个问题也有可能是由于实体类的配置问题,就是实体类可能需要配置一个ID类,我这里是没有配置的。我没有测试配置ID类之后会怎样,不清楚可不可以。

    关于实体类与ID类的配置请参考这个:

    http://note.youdao.com/noteshare?id=ff4c26ee17053de068eb1655f0f359c2&sub=1090BA93FED44BB49542C5B4EA5C4064

    相关文章

      网友评论

          本文标题:repository.save() 无效 无法保存数据

          本文链接:https://www.haomeiwen.com/subject/mcjqdctx.html