Définissez la validation automatique sur false.
Mettez vos PreparedStatements dans un bloc try. S'engager à la fin ; rollback dans le bloc catch.
C'est ainsi que cela se fait généralement dans JDBC.
http://docs.oracle.com/javase/tutorial/jdbc /basics/transactions.html
Si vous utilisez EJB3 ou Spring, vous pouvez ajouter un gestionnaire de transactions et les spécifier de manière déclarative. C'est plus sophistiqué et flexible.