Не корректно строится запрос в JPA repository

Есть некая сущность допустим Случай. У этой сущности есть так же вложенная сущность, допустим МедСлучай. В нем есть так же вложенная сущность Шаг, в которой, вложенная сущность Диагноз.

У меня стоит задача: выбрать все id из Случая в которых Шаг != null и Диагноз != null

Вроде бы все легко. Пишу

@Query(select с.id from Случай с where c.МедСлучай.Шаг is not null and с.МедСлучай.Шаг.Диагноз is not null)

В итоговой выборке попадаются дубли id. Понимаю что можно отсеять distinctom, но так же понимаю, что скорее всего проблема в join которые jpa делает под капотом. Как можно исправить?


Ответы (1 шт):

Автор решения: Йцу Фыв

Полагаю, что отношение случай-медслучай или медслучай-шаг является отношением OneToMany. Тогда неудивительно, что появляются дубли id, ведь несколько медслучаев или шагов может относиться к случаю

→ Ссылка