我有一个项目需要保存项目列表,但我想要做的是我希望它保存列表中的所有项目(如果它们全部成功),但如果其中任何一个在保存操作期间失败,我想要列表中项目的所有更改均未使用 CRUDRespository
提交。
Controller :
@PostMapping
ResponseEntity<List<ItemResource>> save(@RequestBody final List<ItemResource> itemResourceList){
List<Item> itemList = new ArrayList<Item>();
for (final ItemResource itemResource : ItemResourceList)
{
final Item savedItem = itemService.save(resourceToEntity(itemResource));
itemList.add(savedItem);
}
}
服务只是repository.save(item);
而存储库只是一个扩展了 CrudRepository 的存储库。
我希望它遍历列表,尝试保存所有项目,但在完成列表末尾提交,如果在保存列表中的项目期间发生任何情况,则不要提交任何更改。
如果可能的话。
谢谢
最佳答案
itemService类应该用@Repository注释并且应该扩展 CrudRepository
然后尝试创建 itemService 的 bean itemService = context .getBean(itemService.class);
然后使用 itemService.save(resourceToEntity(itemResource))
关于java - 如何使用 CRUDRepository 保存列表但最后提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468354/