У меня есть два объекта с именем RECEIPT и PARTICULAR.
Атрибутами объекта RECEIPT являются:
Атрибуты объекта PARTICULAR:
Также у меня есть их соответствующие таблицы. receiveNo - это первичный ключ таблицы RECEIPT, а это внешний ключ в таблице PARTICULAR.Таким образом, для получения есть несколько данных.
Я хочу получить данные для заполнения объекта RECEIPT.Чтобы достичь этого, я могу сначала выполнить запрос на выборку к таблице RECEIPT, и, повторяя результат с помощью цикла for, я могу выполнить другой запрос для извлечения таблицы PARTICULAR.Здесь я дважды звоню в БД.
Чтобы не вызывать DB дважды, я попытался объединить также как:
SELECT * FROM RECEIPT r,PARTICULAR p WHERE r.RECEIPT_NO = p.RECEIPT_NO
Однако, поскольку он возвращает повторяющиеся данные для RECEIPT, то есть для каждой строки PARTICULAR соответствующие данные RECEIPT также разбиваются.Эти данные ПОЛУЧЕНИЯ являются повторяющимися, так как несколько конкретных идентификаторов разделяют одну квитанцию.Из-за этого я не могу правильно загрузить данные в объект RECEIPT (или, может быть, я не знаю, как загрузить такой результат в соответствующие объекты)
Мое действительное требование - загрузить объект RECEIPT, сформировав список PARTICULAR длякаждая квитанция
Является ли использование цикла for и двойной вызов DB единственным способом достижения этого?Предложите мне эффективный способ добиться этого