何らかの理由で、暗黙のトランザクションentityManagerが参加するのは新しいトランザクションだと思いました。ただし、Hibernateドキュメント 状態:「トランザクション内にエンティティマネージャーを作成すると、エンティティマネージャーは自動的に現在のトランザクションに参加します。」
したがって、明らかに別のトランザクションがすでに実行されており(驚くことではありません)、フェッチの結果は、すでに読み取ったものに応じて変化します(データベースがREPEATABLE-READモードで実行されているため)。
短期的には、コードをスイープして、トランザクションが欠落している場合は明示的にbegin()トランザクションを実行します。長期的には、Spring Transactionsを調べて、より確実な方法でトランザクションを管理する方法を確認します(コメントで提案されています)。