private static void insertTables(DBConnection connection,
            Map<Class<?>, List<Column>> entities, List<String> tables)
            throws SQLException {
        for (Entry<Class<?>, List<Column>> entity : entities.entrySet()) {
            // create table if not exists
            createTable(connection, entity.getKey(), tables);
            ;

            // get List of columns of existing table
            List<ColumnInfo> existing = getColumnsOnTable(connection, DaoUtils.getTableName(entity
                    .getKey()));

            for (Column c : entity.getValue()) {
                c.setExistings(existing);
                if (c.isAlterNeeded()) {
                    String query = c.getAlterStatement();
                    Loggin.logQuery(connection, query);
        
                    Statement statement = connection.getStatement();
                    statement.executeUpdate(query);
                    statement.close();
                }
            }
        }
    }