Fra Oracle JDBC-dokumentation:
Når en forbindelse er oprettet, er den i auto-commit-tilstand. Det betyder, at hver enkelt SQL-sætning behandles som en transaktion og automatisk begås lige efter, at den er udført. (For at være mere præcis, er standarden, at en SQL-sætning skal begås, når den er fuldført, ikke når den udføres. En sætning er fuldført, når alle dens resultatsæt og opdateringsantal er blevet hentet . I næsten alle tilfælde er en erklæring dog afsluttet, og derfor begået, lige efter den er udført.)
Den anden ting er - du har udeladt oplysninger om oprettelse af forbindelse, så jeg gætter bare - hvis du bruger nogle rammer, eller erhverver en forbindelse fra en datakilde eller forbindelsespulje, er autocommit
kan være slået off
ved disse rammer/puljer/datakilder - løsningen er aldrig at stole på standardindstillinger;-)