Est-ce qu'un seul EntityManager (Hibernate) participer à plusieurs opérations simultanées?
-
21-09-2019 - |
Question
Est-il possible un EntityManager peut participer smoothely à plusieurs transactions simultanées?
Eh bien, pas en même temps. Quelque chose comme:
- Démarrer tx 1
- Faire des trucs dans tx 1
- Démarrer tx 2
- Faire des trucs dans tx 2
- tx 2 S'engager
- Inscrivez-vous tx 1 retour
- Faire des trucs dans tx 1
- tx 1 S'engager
à pas suivie par une quelconque ne se chevauchent pas.
La solution
séparés transactions? Non, il ne peut pas.
Tentative d'appeler EntityTransaction.begin ( ) sur une transaction active (qui est ce que vous avez à faire, diretly ou indirectement) entraînera IllegalStateException
d'être jeté.
Unité de concepts de travail étendue / transaction sont expliqués en détail dans la section Mise en veille prolongée EntityManager manuel.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow