我正在使用带有 spring data jpa 的 spring boot 应用程序。当我遍历对象时出现并发修改异常。
当我遍历 submission.getPages() 时,我得到了 concurrentModificationException。
我厌倦了检查 null 和 empty 但没有运气
@Override
public void processCopyAttachmentsToProcessAttachments(int processId) {
Optional<Process> processOpt = processRepository.findById(processId);
if (processOpt.isEmpty()) {
return;
}
Process process = processOpt.get();
Hibernate.initialize(process.getSubmissons());
List<Submission> submissions = process.getSubmissons();
if (submissions == null || submissions.isEmpty())
return;
for (Submission submission : submissions) {
Hibernate.initialize(submission.getPages());
if (submission.getPages() == null || submission.getPages().isEmpty())
return;
for (SubmissionPage submissionPage : submission.getPages()) {
Hibernate.initialize(submissionPage.getAttachments());
if (submissionPage.getAttachments() == null || submissionPage.getAttachments().isEmpty())
return;
for (SubmissionPageAttachment submissionPageAttachment : submissionPage.getAttachments()) {
ProcessAttachment processAttachment = new ProcessAttachment();
processAttachment.setDocumentId(submissionPageAttachment.getDocumentId());
processAttachment.setDocumentType(submissionPageAttachment.getDocumentType());
processAttachment.setProcess(process);
processAttachmentRepository.save(processAttachment);
}
}
}
}
如何解决这个问题?
撒科打诨
红颜莎娜
随时随地看视频慕课网APP
相关分类