Ich habe eine Tabelle WARNINGS_HISTORY, die eine Liste von Ereignissen ist, jedes Ereignis verknüpft mit einer WARNINGS-Zeile, die Details für das Ereignis enthält. Ich konnte eine Liste der WARNUNGEN (List<Warnings>
) abrufen, die in einem bestimmten Zeitraum aufgetreten sind. Aber ich brauche auch die WARNINGS_HISTORY.ID. Also brauche ich die folgende SQL, um etwas wie Map<Integer, Warnings>
, List<List<Integer, Warnings>>
oder List<List<WarningsHistory, Warnings>>
zurückgeben, wo das Integer-Feld theWARNINGS_HISTORY.ID ist.jOOQ Geben Sie einen POJO und eine ID aus der Joined-Tabelle zurück
Gibt es Hinweise, wie Sie das erreichen können?
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);
}