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:

codice:
try{
Prodotto p=new Prodotto();
...
...

entityManager.getTransaction().begin();
entityManager.persists(p);
entityManager.getTransaction().commit();
}catch(Exception e){
..
}
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.

Il problema posso parzialmente risolverlo con il rollback... Esiste un modo per chiudere la TRANSAZIONE e non l'ENTITÀ???

Grazie mille
Roberto