Я использую JDBC, но у меня возникли некоторые проблемы с Oflback и SavePoint.
Я не могу понять, почему этот код на самом деле не откатывается до точки сохранения, и вставленные записи остаются. < /p>
try {
conn.setAutoCommit(false);
stmt = conn.createStatement();
sp = conn.setSavepoint();
stmt.executeUpdate("INSERT INTO test(id) VALUES(" + args[0] + ")");
if(true) {
conn.rollback(sp);
System.out.println("rollback");
}
} catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
System.out.println("rollback");
conn.rollback(sp);
} finally {
conn.commit();
}
Подробнее здесь: https://stackoverflow.com/questions/137 ... t-rollback