У меня есть немного сложный сценарий, использующий данные весны и jpa.
Моя структура данных выглядит так:
И мне нравится создавать фильтр : дать мне все события, которые принадлежат списку структур, в течение определенного периода и назначены списку категорий.
Мне удалось создать образец SQL оператора:
select * from event e inner join period p on e.period_id=p.id
inner join category_item_ids ci on e.id=ci.item_ids
inner join category c on ci.category_id=c.id
inner join event_assignment_structure_ids es on es.event_assignment_id=e.id
where p.start between '2020-05-01 12:00:00.000000' and '2020-11-14 12:00:00.000000' and
c.id in (1) and
es.structure_ids in (1,2)
Но мои объекты в настоящее время не соединены вместе всеми аннотациями JPA. например, «Тот же ID» - это то, что я сделал по соглашению, чтобы сделать детали немного более независимыми.
Так что использование способа JPA в настоящее время не вариант, я думаю, из-за отсутствующих отношений. Представить их также будет довольно много.
Так что мне было интересно, есть ли возможность выполнить запрос sql напрямую (я мог бы использовать собственный запрос, но это тоже не вариант, потому что фильтр значения не всегда даются, поэтому мне нужно 13 собственных запросов)
В прошлом я использовал enityManager и построитель запросов, но это тоже не вариант из-за отсутствующих отношений jpa.
Любые идеи очень приветствую :-) С уважением, Оливер