private void writeDB(
     final JerModel jerModel,
     final boolean isInsert,
     final boolean isUpdate,
     final boolean isDelete) {
   try {
     try {
       conn.setAutoCommit(false);
       if (isInsert) {
         try (PreparedStatement psJm = jerModel.getPreparer().createInsertStmt(conn)) {
           psJm.executeUpdate();
         }
         conn.commit();
         for (final PreparedStatement stmt :
             jerModel
                 .getPreparer()
                 .getPrepStmtsFromMultiFields(conn, getMaxIDValueForTable(jerModel))) {
           try (PreparedStatement psJm = stmt) {
             psJm.executeUpdate();
           }
         }
       } else if (isUpdate) {
         for (final PreparedStatement stmt : jerModel.getPreparer().createUpdateStmts(conn)) {
           try (PreparedStatement psJm = stmt) {
             psJm.executeUpdate();
           }
         }
       } else if (isDelete) {
         for (final PreparedStatement stmt : jerModel.getPreparer().createDelStmts(conn)) {
           try (PreparedStatement psJm = stmt) {
             psJm.executeUpdate();
           }
         }
       }
       conn.commit();
       setChanged();
       notifyObservers(new JerObserverMsg(JerMsgType.DB_UPDATE));
     } catch (SQLException | NumberFormatException nfe) {
       conn.rollback();
       conn.setAutoCommit(true);
       throw nfe;
     } finally {
       conn.setAutoCommit(true);
     }
   } catch (final SQLException e1) {
     LOGGER.severe(e1.getMessage());
     setModelAndID(jerModel, -1);
     jerInfoMsgHandler.showMsg("@" + jerModel.getIdName() + ": " + e1.getLocalizedMessage());
   }
 }
 public void checkSelectedPlaces() throws ParseException {
   checkAssociatedPlaces(selectedModel, selectedModel.getIdName(), selectedID);
 }