Я пытался сделать следующий запрос, я попытался начать, но я не знаю, откуда. Учитывая, что у меня есть сущность для каждой таблицы, как я могу создать этот запрос с помощью Criteria Builder?Критерии JPA 2, Hibernate - кратные объединения
SELECT *
FROM TCTIPort as CTIPort
INNER JOIN TCTIBoardType AS BoardType
ON CTIPort.BoardType = BoardType.BoardType
LEFT JOIN TSysPort AS Port
ON CTIPort.Switch = Port.Switch AND
CTIPort.Machine = Port.Machine AND
CTIPort.Port = Port.Channel
LEFT JOIN TSysMachineId AS Mach
ON Mach.IdApp = Port.IdApp AND
Mach.IdTypeApp = Port.IdTypeApp
LEFT JOIN TUnPbxGenericValue AS Gen
ON CTIPort.Machine = Gen.Machine AND
CTIPort.Port = Gen.Port
LEFT JOIN TUnPbxGenericName AS GName
ON GName.IdGenericName = Gen.IdGenericName
LEFT JOIN TSysTypeOfApp STA
ON STA.IdTypeOfApp = Port.IdTypeApp
LEFT JOIN TSysApplication AS SysApp
ON SysApp.IdApp = Port.IdApp
AND SysApp.idTypeOfApp = Port.idTypeApp
WHERE
LTRIM(RTRIM(BoardClass)) IN ('MSI', 'TAP') AND
CTIPort.Switch = @Switch AND
CTIPort.Machine = @Machine AND
(CTIPort.Port = @Port OR @Port IS NULL) AND
(Mach.Machine LIKE @NameMachine OR
Gen.GenericValue LIKE @NameMachine OR
@NameMachine IS NULL)
ORDER BY
CTIPort.Port
Должен ли я использовать интерфейс «JOIN» для каждого столбца? Как я добавляю условие «И» к соединениям?
Я искал несколько примеров, но они показывают только простые запросы (withou "and" и без дополнительных таблиц, max 2).