Аннотация @Scheduled не коммитит в базу изменения ,как решить?

Разобрался с тем, как настроить сам метод по таймеру,но в рантайме,Jpa findAll() или простой вывод в консоль фор ич работают,а вот deleteByLotId(Long id) (кастом) не хочет коммитить изменения в базу ,если после него идёт ещё одна опирация,он попросту не доходит до неё,я уже и fixedRate на минуту пробывал ставить.

@Component
public class LotEnder {



@Autowired
private JpaLotRepository jpaLotRepository;

@Autowired
private JpaBetRepository jpaBetRepository;

    @Scheduled(initialDelay = 2000L,fixedRate = 5000L)
    void Checker() {
        List<Lot> lots = jpaLotRepository.findAll();
        for (Lot lot:lots) {
            System.out.println(lot.getId());
            jpaBetRepository.deleteByLotId(lot.getId());

        }

                }
Hibernate: select lot0_.id as id1_1_, lot0_.end_date as end_date2_1_, .................
1008
Hibernate: select bet0_.id as id1_0_0_, bet0_.bet as bet2_0_0_..................

На выходе в консоле, запрос в одну таблицу, принт айди первого элемента,запрос во вторую талицу в которой хочу удалить элемент,и так по кругу,дальше первого элемента не уходит,но этого не происходит. Что-то работает что-то нет. Если удалять тот объект что в цикле фор ич то работает,а если удалять по кастомному запросу то не работает. Хотя в других классах работает. Я что-то читал про потоки, но не до конца понял.


Ответы (0 шт):