我必须迭代该请求并创建一个新的实体列表请求,我可以在 JPA 存储库的 saveAll() 方法中使用该请求
我出现 DU 异常
Map<Integer, AlertHeader> alertHeaderMap = findAllAlertRecords(lockAlertRequest);
List<AlertHeader> alertHeaderRequestToUpdate = lockAlertRequest.stream()
.map(request -> {
AlertHeader alertHeader = alertHeaderMap.get(request.getAlertId());
alertValidatorUtil.validateRecordNotFound(alertHeader, request);
alertValidatorUtil.validateUnauthorizedLock(alertHeader, request);
alertHeader.setStatus(AlertStatus.valueOf(request.getStatus()));
alertHeader.setExpediteEmployeeId(request.getExpediteEmployeeId());
alertHeader.setExpdLockDateTime(parseDateTime(request.getExpediteLockDateTime()));
return alertHeader;
})
.collect(Collectors.toList());
alertHeaderRepository.saveAll(alertHeaderRequestToUpdate);
我假设错误消息来自 PMD。
当我用谷歌搜索该消息时,第一个搜索结果是这个 PMD 问题:https://github.com/pmd/pmd/issues/1304。 回应称这些通常是误报。 它说:
不幸的是,这条规则是迄今为止 PMD 中最差的。数据流代码库早已过时,并且很少或根本不了解 Java 5 或更高版本中引入的任何 Java 构造(for-each-loops、try-with-resources、lambda...),因此这些误报并不罕见。
我们希望在某个时候对其进行修改,但到目前为止,这样的努力还没有计划。它可能是 2019 年一个很好的 GSoC 项目候选者。
GSoC 是 Google Summer of Code,我的猜测是这个问题当时并没有得到解决……或者从那时起。
您显然没有在帖子中包含所有错误信息。 它应该提到 DU 异常是针对哪个变量的。 但您肯定在那里使用了后 Java 5 结构。