Bonjour,
je viens de trouver la source d'un bug dans mon programme.
L'idée :
- 1 client VB.NET insère un enregistrement dans une table de base de données (postgresql) - particularité : cette table contient une colonne dont le nom est timestamp
- le client fait son job et met à jour l'enregistrement précédent si besoin, en se basant sur la colonne timestamp
- à un moment le client VB.NET appelle un service web JAVA/Hibernate qui réalise des traitements asynchrones et met à jour l'enregistrement précité
- le client VB.NET continue sont job pendant que le service web tourne sur le serveur et fait une dernière mise à jour de l'enregistrement, toujours en se basant sur le timestamp
Or il arrive que cette dernière mise à jour par le client VB.NET plante, parce qu'il ne retrouve pas son timestamp......en effet, je me suis aperçu qu'il était systématiquement incrémenté de 1.
En faisant des recherches, je me suis aperçu qu'Hibernate s'en servait pour faire du versionning.......
Avant de devoir reprendre mon code pour corriger ce problème, savez-vous s'il existe une possibilité au niveau de la conf d'Hibernate pour qu'il ne se serve pas de cette colonne timestamp pour faire son versionning?
Merci d'avance
Gérald dégouté
Partager