Jpa 计划内的Repository.Save()不起作用

Jpa 计划内的Repository.Save()不起作用,jpa,spring-transactions,Jpa,Spring Transactions,我有一个在调度程序中调用的repository.save()方法。但它并没有将任何内容保存到数据库中。 下面是我的时间表 @Component @Transactional @Slf4j public class WomConditionActionJob { @Autowired private Environment env; @Autowired private ECCRepository eCCRepository; @Autowired private WOCRepositor

我有一个在调度程序中调用的repository.save()方法。但它并没有将任何内容保存到数据库中。 下面是我的时间表

@Component
@Transactional
@Slf4j
public class WomConditionActionJob {


@Autowired
private Environment env;

@Autowired
private ECCRepository eCCRepository;

@Autowired
private WOCRepository wOCRepository;

@Autowired
private PSRepository pSRepository;


@Scheduled(fixedDelayString = "${wCATrigger.polling.frequency}", initialDelayString = "${wCATrigger.initial.delay}")
public void execute() {

    try {
            final PauseStatus pause = pSRepository.findByPSName(PSName.PAUSE);
            pauseCondition(pause,threshold);
    } catch (Exception e) {
        log.error("Exception Occured {}", e);
    }

}

private void pauseCondition(final PauseStatus pause, final Integer threshold) {
        WOTCondition wotCId = workOrderConditionRepository.findById(1).get();
        wotCId.setPauseStatus(pause);
        wotCId.setIsUserAction(Boolean.FALSE);
        workOrderConditionRepository.save(wotConditionbyId);
        conditionCount.setErrorCount(0);
        errorConditionCountRepository.save(conditionCount);
    }
}
我尝试使用saveAndFlush(),但那一次出现了以下错误

[pool-2-thread-1]|错误|[o.s.s.s.TaskUtils$LoggingErrorHandler.handleError(96)]|计划任务中出现意外错误。 org.springframework.transaction.UnexpectedRollbackException:事务已回滚,因为它已被标记为仅回滚 位于org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:873) 位于org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:710)


conditionCount变量来自哪里?它只是一个模型。当我简化代码时,它已经删除了。忽略这个保存。好的,根据我的经验,它必须是一个以前的错误消息,告诉您错误的根本原因,另一方面,我解决这个问题的第一个方法是创建一个单独的bean来执行事务操作,并从schedulerWhere来调用它conditionCount变量?它只是一个模型。当我简化代码时,它已经删除了。好吧,根据我的经验,它必须是之前的错误消息,告诉您错误的根本原因,另一方面,我解决这个问题的第一个方法是创建一个单独的bean来执行事务操作,并从调度程序调用它