J'ai rencontré un comportement curieux aujourd'hui et je me demandais si c'était prévu ou standard. Nous utilisons Hibernate contre MySQL5. Au cours du codage j'ai oublié de fermer une transaction, je suppose que d'autres peuvent se rapporter.Transactions de base de données non validées et colonnes à incrémentation automatique
Lorsque j'ai finalement fermé la transaction, exécuté le code et vérifié la table, j'ai remarqué ce qui suit. Toutes les fois où j'ai exécuté mon code par erreur sans fermer la transaction, qui n'a donc pas entraîné l'insertion de lignes réelles, j'ai incrémenté la valeur de la clé primaire de substitution automatique, de sorte que j'ai un écart (ie 751 à 762).
Est-ce un comportement standard ou attendu? Cela peut-il varier en fonction de la base de données? Et/ou l'abstraction des transactions de Hibernate a-t-elle un effet possible?
Je connaissais la réponse, mais c'est toujours une question intéressante! – RichardOD
Idéalement, votre application/conception ne devrait pas être affectée par des lacunes dans la séquence - vous ne devriez jamais vous mettre dans une situation où cela importe vraiment –