Question

À l'heure actuelle, nous créons une seule EntityManager par demande, dans notre application web. Nous vouloir créer une transaction au début de la demande et le fermer à la fin d'obtenir le soutien automatique des transactions tout au long de toute la demande.

Quelqu'un at-il essayé? et va introduire ce problèmes de concurrence ou est devrions-nous simplement envelopper tous notre code de mise à jour dans une transaction séparée?

Notez que nous utilisons JPA 1.0

Était-ce utile?

La solution

Pour des applications simples, cela suffit (une transaction par demande). Mais pour des scénarios plus complexes, vous aurez besoin d'utiliser des transactions au niveau plus granulaire.

En principe, j'enveloppez mes opérations de mise à jour au besoin.

De toute façon votre approche ne vous empêche pas d'ouvrir une nouvelle transaction au milieu de la demande en cas de besoin. Il est donc OK par moi.

Et quelque chose sur les problèmes possibles de concurrence ... Si vous pouvez prévoir des questions, adresse les, sinon je ne vous inquiétez pas trop à ce sujet. Keep it simple et ne pas se laisser entraîner dans des optimisations prématurées

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top