为什么@Transactional(propagation = Propagation.REQUIRES_NEW)不起作用?

时间:2019-05-22 02:07:33

标签: commit transactional propagation

我的工作是分多个步骤导入数据,我想更新状态表并在更新后提交它,但是导入将在所有数据导入后提交。 我使用本地类更新状态表,代码如下,但是直到导入完成后才提交状态表,该怎么办?

...
class UpdateStatusTable {
    @Transactional(propagation = Propagation.REQUIRES_NEW)
    private void updateStepTime(String step, int count) {
        dailyBatchRepository.updateTime(step);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    private int insertTime() {
        return dailyBatchRepository.insertTime();
    }
}

@Override
@Transactional
public int update() {
    UpdateStatusTable updateStatusTable = new UpdateStatusTable();
    updateStatusTable.insertTime();
    count = dailyBatchRepository.updateMapping();
    updateStatusTable.updateStepTime(String.valueOf(step++), count);
    count = dailyBatchRepository.updateIndex();
    updateStatusTable.updateStepTime(String.valueOf(step++), count);
    ...
}
...
  • 列表项

0 个答案:

没有答案