Я пытаюсь реализовать то же самое, что показано ниже, с помощью Criteria Builder. Хотя я могу правильно получить левое соединение для всей таблицы, я не знаю, как это сделать при добавлении предложенияwhere. Есть какие-нибудь предложения о том, как именно это сделать?
SELECT T1.*
FROM TABLE1 T1
LEFT JOIN (SELECT *
FROM TABLE2 T2
WHERE T2.COL1 = 'VALUE'
) J ON J.TAB1KEY = T1.ID
WHERE T1.COL2 = 'VALUE';
@Entity
@Table
Table1
@Column
private String Id;
@Column
private String Col1;
@Column
private String Col2;
@OneToMany
@JoinColumn(name = "Tab1Key", referencedColumnName = "ID")
private Set table2
@Entity
@Table
Table2
@Column
private String Id;
@Column
private String Tab1Key;
@Column
private String Col1;
@Column
private String Col2;
Подробнее здесь: https://stackoverflow.com/questions/785 ... -onetomany
Мобильная версия