private Field<Integer> getIdField(Table<?> table) {
        final Field<Integer> idField = table.field(DEFAULT_ID_FIELD_NAME, Integer.class);
        if (idField == null) {
            throw new RuntimeException(LogUtil.message("Field [id] not found on table [{}]", table.getName()));
        }
        return idField;
    }
Fetch a single row using the passed id value. If the id matches zero rows or more than one row then
an exception will be thrown. Assumes the table's id field is named 'id'.

@param type The type of record to return
@param id   The id to match on
@return An optional containing the record if it was found.
stroom-db-util/src/main/java/stroom/db/util/JooqHelper.java