Bonjour,
Je dois reprendre une base de données existante où la seule table en écriture possède une clé composée. :-/ Le refactoring de cette table n'est pas possible.
Cette table est susceptible d'être manipulée par d'autres process que ma webapp. La règle de génération de clé est la même pour chaque process
Je dois donc créer des clés pour les records de cette table en assurant qu'un autre process n'a pas pris entre temps la même clé...
Je pensais utiliser une technique de locking. Visiblement, je devrais locker la table complète le temps de l'insertion.
Le hic c'est que je ne vois pas bien comment faire cela en utilisant spring dao et orm et les appels lock propre à hibernate...
est-ce qu'un session.lock(MonObjet.class, LockMode.WRITE) dans une méthode de mon DAO pourrait résoudre le problème? Si oui, je suppose que le lock est relâché à la fin de la transaction gérée par spring?
Toute aide est la bienvenue
D'avance merci
Benoit
Hibernate version:
La dernière 2.x stable
Mapping documents:
Code between sessionFactory.openSession() and session.close():
J'utilise les modules spring orm et dao et pas directement une sessionFactory
Full stack trace of any exception that occurs:
Name and version of the database you are using:
Oracle 9i
The generated SQL (show_sql=true):
Debug level Hibernate log excerpt:
|