|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2005
Messaggi: 2
|
[JSP JDBC]Transazioni atomiche
Qualcuno sa come riunire una SELECT che verifichi la presenza di un record, e una INSERT che in caso contrario lo inserisca in un'unica transazione atomica?serve per un sito di prenotazioni online per evitare che due utenti prenotino la stessa risorsa.
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
se sono sullo stesso database basta che sull'oggetto Connection chiami:
conn.setAutoCommit(false); e poi a mano dopo che hai fatto le operazioni di cui hai bisogno chiami commit() o rollback() a seconda che vada tutto bene o meno. Se i db sono differenti la cosa si complica ma si puo' fare ugualmente. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
ho riletto ora il tuo post, tu non hai bisogno di una maniera di chiamare commit/rollback, come se facessi due insert una dipendente dall'altra, bensì di un meccanismo di locking delle tabelle.
Questo è generalmente dipendente dal db che usi. QUal è? [EDIT] forse c'e' anche una maniera indipendente dal db sottostante, dai un occhio al metodo: Connection.setIsolationLevel() in particolare con TRANSACTION_REPEATABLE_READ e TRANSACTION_SERIALIZABLE come argomento. Ultima modifica di kingv : 23-02-2005 alle 22:39. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:54.



















