JDBC 3.0のAPIには、Connection.setSavepointメソッドが新たに用意されています。このメソッドは現在のトランザクションにセーブポイントを設定します。 Connection.rollbackメソッドはセーブポイントを引数に取れるよう、オーバーロードされています。より詳細な情報はjava.sql.Connectionインターフェイス: JDBC3.0にて利用可能なメソッドを参照してください。
conn.setAutoCommit(false); // セーブポイントを使うためには自動コミットを切らなければなりません。
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABLE1 (COL1) VALUES(1)");
// セーブポイントの設定
set savepoint
Savepoint svpt1 = conn.setSavepoint("S1");
rows = stmt.executeUpdate("INSERT INTO TABLE1 (COL1) VALUES (2)");
...
conn.rollback(svpt1);
...
conn.commit();