Jedna od funkcija aplikativnog servera poput JBossa je da se brine o transakcijama. S obzirom da pored baze postoje i drugi trasakcioni resursi (poput JMS topic-a i queue-a) nije preporučljivo koristiti direktno JDBC transakcije već JTA (Java Transaction API). Što se tvog koda tiče, način rada je prilično sličan.
Ako koristiš EJB onda transakcije možeš definisati deklarativno, kroz deployment deskriptore. Ukratko, za svaki EJB metod možeš definisati da li se pridružuje postojećoj transakciji, započinje novu itd. Ako je sve u redu, aplikativni server će sam izvršiti commit, a ako se desi Exception - rollback. Ovaj način se zove CMT ili Container Managed Transactions. Alternativa je Bean Managed Transactions gde sam pozivaš begin, commit i rollback.
Najbolje bi bilo da pogledaš neki tekst o JTA. Na primer ovo je deo iz J2EE tutorijala
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Transaction.html
Ako se dobro sećam postoji deo u JBoss Tutorijalu koji se ovime bavi.