Om de een of andere reden dacht ik dat de impliciete transactie-entiteitManager joins een nieuwe transactie was. Maar Docs overwinteren state:"Wanneer u een entiteitsmanager binnen een transactie aanmaakt, voegt de entiteitsmanager zich automatisch bij de huidige transactie."
Dus blijkbaar is er al een andere transactie aan de gang (niet verwonderlijk) en mijn ophaalresultaten veranderen afhankelijk van wat het al had gelezen (omdat de database in REPEATABLE-READ-modus draait.)
Op de korte termijn zal ik mijn code doornemen om expliciet transacties te beginnen() waar dat ontbreekt. Op langere termijn zal ik Spring Transactions onderzoeken om te zien hoe transacties op een meer onfeilbare manier kunnen worden beheerd (zoals werd gesuggereerd in de opmerkingen.)