Je vous suggère de lire ceci , vous verrez
Par conséquent, le premier appel de
setAutoCommit(false) et chaque appel de
commit() implicitement marque le début de
une transaction. Les Transactions peuvent être
annulé avant ils sont commis par des
l'appel
Edit:
Vérifiez la documentation officielle sur les Transactions JDBC
Lorsqu'une connexion est créée, elle est en mode auto-commit. Cela signifie
que chaque instruction SQL est traitée comme une transaction et est
automatiquement engagé juste après elle est exécutée. (Pour être plus
précis, la valeur par défaut est pour une instruction SQL pour être validée lorsqu'il est
terminé, pas quand il est exécuté. Une instruction est terminée lorsque tous les
de ses ensembles de résultats et de mettre à jour les chiffres ont été récupérées. Dans presque
tous les cas, cependant, une instruction est terminée, et, par conséquent, commis,
juste après elle est exécutée).
La manière de permettre à deux ou plusieurs états à être regroupés en un
la transaction est de désactiver le mode auto-commit. Ceci est démontré
dans le code suivant, où le con d'une connexion active:
con.setAutoCommit(false);
Source: JDBC Transactions