2

Par exemple, le niveau d'isolement d'une base de données est défini sur READ_COMMITED.
Ensuite, grâce à la gestion des transactions de printemps, je suis en train de la transaction niveau d'isolement
1) READ_UNCOMMITED - alors quel sera le niveau d'isolation efficace pour cette transaction. 2) REPEATABLE_READ - alors quel sera le niveau d'isolation efficace pour cette transaction.Préséance du niveau d'isolation de la transaction Spring par rapport au niveau d'isolation de la base de données

+0

Une bonne question - pourquoi ne pas le tester? Bien, je suppose que ce printemps change le mode d'isolation de base de données de niveau de session. Vous pouvez tester cela en modifiant le mode d'isolation au printemps, puis interroger le paramètre de base de données de niveau de session via sql à partir du printemps. – Shadow

Répondre

1

Le niveau d'isolement par défaut est défini dans DB (dans votre cas, il s'agit de READ_COMMITED) et un niveau d'isolation de transaction. Si ce n'est pas explicitement spécifié, le niveau par défaut est utilisé. Le ressort active simplement le niveau d'isolement déclaré et, bien sûr, "remplace" le niveau par défaut de la base de données.

En fait, vous pouvez faire la même chose sans ressort en appelant SQL

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 

printemps fait la même chose pour vous

+0

cool. les paramètres d'isolation des transactions de Spring sont donc prioritaires pour cette transaction particulière. Super. – samshers