Я исправляю старые приложения, основанные на Hibernate 3.1. Мне нужно объединить 3 таблицы, 2 из которых соединены @OneToMany
/ @ManyToOne
- третья нет.
в основном мне нужно сделать что-то вроде (в "псевдо sql")
select t1.field1, max(t2.field2), min(t3.field3)
from t1
left join t2 on t1.id = t2.t1_id
left join t3 on t1.id = t3.t1_id
но в HQL ; и согласно https://vladmihalcea.com/how-to-join-unrelated-entities-with-jpa-and-hibernate/ я не могу явно сделать левое соединение с несвязанной таблицей.
Есть ли способ "express" для слева Поведение объединения (все строки t1, t2, если соединение найдено, еще ноль, t3, если соединение найдено, еще ноль) с объединением в тета-стиле ?
I хотя о union
из двух запросов или о where (t1.id = t3.t1_id or t1.id not in (select t1_id from t3)
, но результаты не приходят ко мне.