HQL получить объекты, где определенное свойство является уникальным - PullRequest
0 голосов
/ 16 декабря 2009

Я пытаюсь выполнить hql-запрос, который возвращает список объектов с различным значением свойства. Ниже приведен мой псевдокод:

string hql = @"select distinct m from Merchandise m
               where m.Serial is unique"

Я использую Castle ActiveRecord поверх NHibernate. Я потратил полдня на эту проблему, но не смог найти правильный синтаксис HQL для этого. Может кто-нибудь сказать мне, что делать?

1 Ответ

2 голосов
/ 16 декабря 2009

Примерно так должно получиться:

string hql = @"
     from  Merchandise m
     where not exists (
           from  Merchandise other 
           where m.Serial = other.Serial 
           and   m.Id <> other.Id
           )";

Это предполагает, что Идентификатор товара является просто свойством под названием Идентификатор.

...