diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index a971233..d42ac4d 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -692,12 +692,25 @@ public class ORM { return; } else { // create query - String deleteSQL = "DELETE FROM HOUSE WHERE ID = ?"; - delete(deleteSQL, estate.getId()); - deleteSQL = "DELETE FROM APARTMENT WHERE ID = ?"; - delete(deleteSQL, estate.getId()); - deleteSQL = "DELETE FROM ESTATE WHERE ID = ?"; - delete(deleteSQL, estate.getId()); + try { + _connection.setAutoCommit(false); + String deleteSQL = "DELETE FROM HOUSE WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + deleteSQL = "DELETE FROM APARTMENT WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + deleteSQL = "DELETE FROM ESTATE WHERE ID = ?"; + delete(deleteSQL, estate.getId()); + _connection.commit(); + _connection.setAutoCommit(true); + } + catch (SQLException e) { + try { + _connection.rollback(); + } catch (SQLException e1) { + e1.printStackTrace(); + } + e.printStackTrace(); + } } if (_estates.containsKey(estate.getId())) { _estates.remove(estate.getId(), estate);