Salve a tutti!
Sto usando JPA e EntityManager di java per la connessione al database.
Data la mia entityManager (già istanziata), il mio schema di base è il seguente:
Il problema è che se va in eccezione prima di aver fatto il committ (o durante), la TRANSAZIONE rimane aperta, quindi non posso fare altro, se non chiudere il programma e ripartire. NON posso chiudere la connessione (entityManager.close()) pechè è un database remoto, e ci vuole del tempo significativo (5-10 sec.) per ristabilire la connessione.codice:try{ Prodotto p=new Prodotto(); ... ... entityManager.getTransaction().begin(); entityManager.persists(p); entityManager.getTransaction().commit(); }catch(Exception e){ .. }
Il problema posso parzialmente risolverlo con il rollback... Esiste un modo per chiudere la TRANSAZIONE e non l'ENTITÀ???
Grazie mille
Roberto

Rispondi quotando