Connection con = null; Savepoint savePoint=null; try { con = DAO.getDBConnection(); TestDAO testDAO = new TestDAO (con); testDAO.insert("PKEY_TEST_01", "Description", ...); testDAO.insert("PKEY_TEST_02", "Description", ...); savePoint = con.setSavepoint("SavePoint_Test"); try { testDAO.insert("PKEY_TEST_02", "Description", ...); } catch (ReposException e1) { try { con.rollback(savePoint); } catch (SQLException oe) { ---> I am getting 25P02 here on rollback. se.printStackTrace(); throw new Exception ("Exception ocurred!", oe); } } testDAO.insert("PKEY_TEST_03", "Description", ...); con.commit(); } catch (SQLException sqlE) { sqlE.printStackTrace(); } System.out.println ("Done!");