Как выбрать и объединить таблицу с ее внешними списками в Querydsl Blaze Persistence Java

У меня есть сущность A с двумя полями: List<B> и List<C>.

Я пытаюсь выполнить select * из A left join с B и C. Однако, когда я выполняю эту задачу Querydsl, я получаю MultipleBagFetchException из Hibernate.

Мне нужно SELECT сотни тысяч строк из моей базы данных, поэтому, если JPA впоследствии вызывает select per. entry для получения дополнительной информации, это значительно замедляет все. Мне нужно сделать это в одном запросе, если это возможно.

Я пробовал:

    new BlazeJPAQuery(this.entityManager, this.criteriaBuilderFactory)
            .select(QA)
            .from(QA, QA)
            .leftJoin(QA.Bs, QB).fetchJoin()
            .leftJoin(QA.Cs, QC).fetchJoin()
            .fetch()
Фома
Вопрос задан6 августа 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.