Аннотация @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_..................
На выходе в консоле, запрос в одну таблицу, принт айди первого элемента,запрос во вторую талицу в которой хочу удалить элемент,и так по кругу,дальше первого элемента не уходит,но этого не происходит. Что-то работает что-то нет. Если удалять тот объект что в цикле фор ич то работает,а если удалять по кастомному запросу то не работает. Хотя в других классах работает. Я что-то читал про потоки, но не до конца понял.