Получить набор объектов из последовательного левого запроса на соединение в JPA - PullRequest
0 голосов
/ 15 апреля 2019

Я использую MySQL и JPA 1.9.4

Я хочу получить список объектов A со всей полной таблицей B и вложенной таблицей D, где D является множеством.

Сущность A: id b_id (много к 1) число Сущность B: id c_id (много к 1) b_d (много ко многим) число Объект C: идентификационный номер Сущность D: идентификатор Сущность B_E: b_id (много к 1) d_id (много к 1)

Мне удалось получить список объектов A с соответствующими объектами B и C, используя этот запрос:

 @Query(value =
    "SELECT a1.* " +
    "FROM A a1 " +
    "LEFT JOIN B b1 ON a1.b_id = b1.id " +
    "LEFT JOIN C c1 ON b1.c_id= c1.id " +
    "WHERE c1.number= ?1 AND a1.number= ?2 " +
    "ORDER BY b1.number ASC ;", nativeQuery = true)

Таким образом, мне не удается получить набор D внутри B внутри A. И обычно выдается следующая ошибка:

Unable to evaluate the expression Method threw 'org.hibernate.LazyInitializationException'

Собственный запрос не принимает выборку соединения. Когда я пытаюсь не использовать собственный запрос, мне не удается использовать последовательное множественное соединение и выборку.

Я тоже пробовал это:

 @Query(
    "SELECT a1" +
        "FROM A a1" +
        "LEFT JOIN FETCH a1.b b1" +
        "LEFT JOIN FETCH b1.c bc1" +
        "LEFT JOIN FETCH b1.d b1d" +
        "WHERE bc1.number = ?1 AND a1.number= ?2 " +
        "ORDER BY b1.number ASC")

Синтаксис кажется не очень хорошим и недостаточным.

Не могли бы вы помочь мне, пожалуйста?

Спасибо

Маню

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...