我有一个异步方法,它读取一个csv文件并在每行中保存postgresql。因此,如果我的用户启动进程并转到记录列表(我的存储库中的findAll()),cvs中的所有寄存器仅在我的方法完成后显示以处理所有。我认为这是因为springboot只在返回该方法后才释放我的连接。我已经尝试使用myRepo.flush()但是你成功了。
保存后可以释放每个寄存器吗? TKS
@Asyng
public void myMethod(List<MyRecordCsv> files){
for(MyRecordCsv record: files){
myRepo.save(record);
}
}
答案 0 :(得分:0)
创建新的保存方法,如:
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void createMyRecorCsv(final MyRecordCsv myRecordCsv) {
myRepo.save(myRecordCsv);
}
然后在每个记录的循环中调用。