Questo è un grosso dilemma che potrebbe spingerci a discussioni abbastanza lunghe; cmq dovresti leggere le specifiche per le transazioni sui db e in particolare le interfacce JTA e lo standard XA; ora il problema principale è che cerchi di effettuare delle operazioni sul db senza rtener conto della transazionalità.. per ovviare a ciò puoi o utilizzare degli EJB (ma tieni presente che senza un container EJB non se ne fa nulla e non so se na hai davvero bisogno), oppure dei framework di persistenza dei dati come l'ottimo Hobernate oppure il più giovane (ma secondo me migliore) JDO.