Я использую jooq, и мне нравится метод fetchMap (Field). Он отлично работает, если я хочу использовать одно поле в качестве ключа. Теперь я хотел бы получить карту, используя два поля в качестве ключа. Метод fetchMap (Поле []) возвращает карту с записью в качестве ключа. У меня есть значения полей в ключе, но я не уверен, как их преобразовать в объект Record, чтобы я мог захватить значение с карты.Как использовать карту, возвращаемую fetchMap jooq?
В принципе, я ищу способ создать экземпляр записи из набора значений полей.
Дополнительная информация: У меня есть таблица провинциальных отчетов за каждую неделю года. Ключ таблицы (провинция_ид, week_number). я могу это сделать ...
DSLContext create = DSL.using(connection, SQLDialect.ORACLE);
Map<Record, ReportRecord> results = create.selectFrom(Tables.Report).fetchMap(new Field[]{Tables.Report.province_id, Tables.Report.week_number});
Но теперь, скажем, у меня есть province_id 2, и week_number из 42. Я хочу, чтобы создать запись из этого, так что я могу сделать
ReportRecord report = results.get(record);
Прямо сейчас, я переключился на вызов
Result<ReportRecord> results = create.selectFrom(Tables.Report).fetch();
, итерацию над ним, и создание карты себе. Он работает, но мне очень хотелось бы знать, как использовать метод fetchMap. Не удалось найти что-либо в руководстве jooq или javadoc.
Я не совсем уверен, в чем проблема. Не могли бы вы объяснить это более подробно с помощью примера кода? –
Хорошо, я добавил несколько подробностей. – BradMicholson