Я пытаюсь написать запрос, в котором я получаю дочерние записи для моего сводного корня, используя leftJoin
, например:
dslContext.select()
.from(PARENT)
.leftJoin(CHILD)
.on(CHILD.PARENT_ID.eq(PARENT.ID))
.stream()
Моя проблема в том, что мне нужно использовать stream
, потому что тамочень большое количество записей, но таким образом я не могу использовать fetchGroups
, который я обычно использовал бы, когда мне нужны записи родитель-потомок.
Вот как я бы использовал fetchGroups
:
dslContext.select()
.from(PARENT)
.leftJoin(CHILD)
.on(CHILD.PARENT_ID.eq(PARENT.ID))
.fetchGroups(Parent.class, Child.class)
, что создаст для меня хороший Map<Parent, Child>
.
Я пытался collect
использовать Collectors.groupingBy
, но не совсем понятно, как его использовать, и документы не объясняютэто либо.
Как я могу получить лениво-родительские записи за один раз?