Каков наилучший/предпочтительный способ выбора (выделенного) списка родительских объектов, у которого есть дочерняя коллекция, содержащая совпадения для ВСЕХ записей в списке параметров детей?Как сопоставить всех детей с помощью hql
я выступаю «любую» версию моего поиска, как это:
select p.Id, p.Name from parent p
where exists(from p.Children c where c in (:childList))
Однако, я немного озадачен о том, как лучше выполнить «все» версию этой категории. В настоящее время я создаю hql «на лету» для каждого ребенка, который мне интересен в сопоставлении; что-то вроде этого:
select p.Id, p.Name from parent p
where :child1 in elements(p.Children)
and :child2 in elements(p.Children)
-- etc...
Я не могу не думать, что есть лучший способ сделать это; Может кто-то указать мне верное направление?
Для справки, я использую NHibernate 2.1.2
Это, кажется, в основном, как реляционного деления, но с параметрами вместо таблицы. См. Http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/ – 2010-11-25 01:37:18
@Mauricio: интересно, я не слышал об этой терминологии раньше, спасибо за ссылку. – DanP 2010-11-25 13:52:07