踩坑记录:spring data jpa 循环save后只保存了一条数据
可以看到,循环save()后,返回的都是同一条数据,id都是129,最后数据库也只插入了同一条数据
后面发现了原因,实体类创建时是在循环外部,导致每次save实际上都是对同一个对象操作
我把实体类创建丢进循环里,问题解决
原代码
FileEntity fileEntity = new FileEntity();
for (String url : fileUrlList) {
......此处省略了部分代码
fileEntity.setFileId(fileId);
fileEntity.setFileName(fileName);
fileEntity.setFileType(fileType);
fileEntity.setFileUrl(url);
FileEntity saveResult = fileService.saveFile(fileEntity);
}
修改后代码
for (String url : fileUrlList) {
......此处省略了部分代码
FileEntity fileEntity = new FileEntity();
fileEntity.setFileId(fileId);
fileEntity.setFileName(fileName);
fileEntity.setFileType(fileType);
fileEntity.setFileUrl(url);
FileEntity saveResult = fileService.saveFile(fileEntity);
}
问题解决,循环保存了两条记录,id为130和131