Não sabia onde abrir exatamente esta dúvida, apesar de envolver o Threads e JPA, decidi abrir aki, pois se trata de como o Spring gerencia o TransactionEntityManager!
Tenho uma tabela que representa o estoque disponível e quando efetuo uma transação, é retirado do estoque a quantidade informada.
Quando há 2 transações simultâneas, só é descontado do estoque o valor da última transação. O que acontece é que a transação 1 busca a quantidade que tem no estoque, depois debita o estoque com o valor informado e não faz o update no banco, depois vem a transação 2 e aproveita a busca de quantidade da transação 1 e finalmente debita a quantidade da transação 2, como não há mais nada a ser feito, aí sim faz o update. Gostaria de mudar este comportamento, que ele fizesse o update após a Thread 1 finalizar.