Как фильтровать по (дочернему) доменному классу в Grails?

У меня есть класс родительского домена, Продукт:

class Product {
    ...
}

и более 20 дочерних классов, расширяющих его. Одним из них является ProductGroup:

class ProductGroup extends Product {
    ...
}

При создании экземпляра ProductGroup у меня есть вход с множественным выбором, в котором перечислены продукты, и пользователь может выбрать, какие продукты он хочет добавить в группу. Прямо сейчас я использую Product.list() для заполнения множественного ввода. Что я хочу сделать, так это иметь список всех продуктов, не включая экземпляры ProductGroup. Как лучше всего это сделать?


person sham    schedule 08.06.2012    source источник


Ответы (1)


Вы должны быть в состоянии сделать это с помощью HQL, если не с родным GORM:

Product.findAll("from Product p where p.class != ProductGroup")
person Ian Roberts    schedule 08.06.2012
comment
Спасибо! Я решил, что мне придется использовать HQL, чтобы сделать это. - person sham; 11.06.2012