Помимо объединения, вы также можете использовать подвыбор (ы). Это приводит к выполнению 2 запросов (или вообще m + 1, если у вас есть m списки), но это хорошо масштабируется и для большого числа списков, в отличие от выборки из объединения.
При извлечении соединения, если вы извлекаете 2 таблицы (или списки) со своей сущностью, вы получаете декартово произведение , т.е. все комбинации пар строк из двух таблиц. Если таблицы большие, результат может быть огромный , например если в обеих таблицах по 1000 строк, декартово произведение содержит 1 миллион строк!
Лучшей альтернативой для таких случаев является использование подвыборов. В этом случае вы должны выполнить 2 выбора - по одному для каждой таблицы - поверх основного выбора (который загружает родительский объект), поэтому в целом вы загружаете 1 + 100 + 100 строк с 3 запросами.
Для записи, то же самое с отложенной загрузкой приведет к 201 отдельному выбору, каждый из которых загружает одну строку.
Обновление: Вот несколько примеров: