jOOQ从连接表中返回POJO和ID

时间:2016-08-02 23:29:06

标签: java jooq

我有一个表WARNINGS_HISTORY,它是一个事件列表,每个事件都链接到一个WARNINGS行,其中包含该事件的详细信息。我已经能够检索在特定时间范围内发生的警告列表(List<Warnings>)。但我还需要WARNINGS_HISTORY.ID。所以我需要以下SQL来返回类似Map<Integer, Warnings>List<List<Integer, Warnings>>List<List<WarningsHistory, Warnings>>的内容,其中Integer字段是WARNINGS_HISTORY.ID。

有关如何实现这一目标的任何提示?

public List<Warnings> load(int maxId, LocalDateTime timestampStart,LocalDateTime timestampEnd) {
    return create.select(WARNINGS.fields())
            .from(WARNINGS_HISTORY)
            .innerJoin(WARNINGS).using(WARNINGS.SIDFILENAME)
            .where(WARNINGS_HISTORY.IID.greaterThan(maxId))
            .and(WARNINGS_HISTORY.DTCREATEDATE.greaterOrEqual(timestampStart))
            .and(WARNINGS_HISTORY.DTCREATEDATE.lessOrEqual(timestampEnd))
            .orderBy(WARNINGS_HISTORY.IID.asc())
            .fetch().into(Warnings.class);
}   

1 个答案:

答案 0 :(得分:2)

写下这个:


NAMES  MARKS
Lux     95
Veron   70
Lesley  88
Sticks  80
Tipsy   40
Joe     62
Goms    18
Wistly  35
Villa   11
Dentist 72
Onty    50

以上内容使用了ResultQuery.fetchMap(RecordMapper, RecordMapper)