Я пытаюсь сгенерировать запрос HQL, который включает пользователя с пустыми коллекциями appoinment (отображается OneToMany):
SELECT u FROM User u JOIN u.appointments uas WHERE u.status = 1 AND (uas.time.end < :date OR size(uas) = 0)
Я использую несколько способов (NOT EXIST ELEMENT(), IS NULL
)
также см.: Как проверить, нет ли коллекции в NHibernate (HQL)? (Это не работает для меня)
но все же не результат, который я хочу увидеть или какая-либо ошибка в HQL или SQL SERVER
Примечание:
запрос без работы JOIN:
"FROM User u WHERE u.status = 1 AND size(u.appointments) = 0"
решаемые
Другой JOIN решил проблему:
SELECT u FROM User u LEFT JOIN u.appointments pas1 LEFT JOIN pas1.slot t WHERE u.status = 1 AND t.end <= :date1 OR t.end IS NULL ORDER BY u.name asc