Имя метода Spring JPA для запроса двух таблиц с использованием @Query - PullRequest
0 голосов
/ 06 июня 2018

РЕДАКТИРОВАНИЕ

Любопытно ... У меня есть собственный запрос Spring JPA, который я не знаю, как написать.

Я расширяю PagingAndSortingRepository

The @Запрос: выберите * из таблицы 1 tb1 ПРИСОЕДИНЯЙТЕСЬ к таблице 2 tb2 на tb1.id = tb2.tb1_id где tb2.personId =: personId и tb1.mainId =: mainId и tb2.status в (: statusList)

I'mя не уверен, как создать имя метода для этого, так как он продолжает выдавать ошибку, говоря, что он не может найти статус в таблице 1.

Я подумал что-то вроде: public Page findByMainIdAndStatusInAndPersonId (@Param ("mainId")Integer mainId, ..........);будет работать, но это говорит мне, что не может найти статус.Это понятно, так как статус находится в объекте Table2, к которому я пытаюсь присоединиться.

**Table1**
id
column1
column2
mainId
List<Table2> table2List

**Table2**
id
table1_id
status
person_id

Таблица 1 и 2 связаны через столбец table_id table2.однако в JPA-репозитории Table1 мне нужно получить всю Table1 на основе критериев в Table2.

Я проверил "выражения свойств", но не понимаю, как написать имя метода jpa

Спасибо, ребята:)

1 Ответ

0 голосов
/ 07 июня 2018

Через некоторое время оглядываясь по сторонам и пробуя разные вещи ... ОТВЕТ:

Если вы хотите выполнить запрос к таблице 2, вам нужно добавить его в метод как:

findBymainIdAndTable2List_StatusInAndTable2List_personId

Поэтому по существу добавьте имя списка с последующим подчеркиванием и именем столбца в этой таблице.Если кто-то хочет добавить больше, то не стесняйтесь def: D Вот как я заставил его работать

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