Boa noite pessoal, tudo bom?
@Service
@Transactional
public class TesteServiceImpl implements TesteService {
@Autowired
private MesaRepository mesaRepository;
@Override
public void teste() {
// Comanda nome = Comanda 14
Comanda comanda = mesaRepository.carregaPorId(1L);
comanda.setNome("Comanda 15");
mesaRepository.save(comanda);
try {
Thread.sleep(20000);
} catch (InterruptedException ex) {
Logger.getLogger(TesteServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void teste1() {
Comanda comanda = mesaRepository.carregaPorId(1l);
System.out.println("== Comanda: " + comanda.getNome());
// print == Comanda: Comanda 14
}
}
Chamando o método teste, e depois o método teste1, o valor só atualiza após a thread finalizar e o spring realizar o commit. Como faço para ler o valor atualizado antes do commit?