o spring data JPA vincula o entity manager ao thread atual ou à transação? Digamos que eu tenha um método anotado com @Transactional que é chamado o tempo todo. O spring usa o entity manager de chamadas anteriores ou cria um novo toda vez? O que acontece com o entity manager depois que a transação é confirmada?
EntityManager(s) são vinculados a
@Transactional
(transação) e não a threads. Quando a transação começa, o Spring atribui um entity manager distinto e, no rollback ou commit da transação, a vida útil da instância EntityManager termina. No thread único, você pode iniciar várias transações e cada transação terá seu próprio EntityManager.