2010-02-12 4 views
1

Предположим, у меня есть класс домена под названием ShopCategoryPageTab. И у меня есть класс домена, называемый Product.Динамический список класса домена Grails как свойство

Я хочу, чтобы у ShopCategoryPageTab был список продуктов. Однако этот список не является статичным, но определяется формулой.

Например, я мог бы иметь свойство «продукты», которые были бы перечислены все продукты с критериями X, Y Z.

Так это свойство/список не вводится вручную кем-то, она динамически генерируется. (продукты могут быть удалены/добавлены внешними приложениями, свойства продукта могут меняться).

Есть ли такая вещь?

ответ

2

Часто вы вызываете динамически добавленные методы, такие как list(), findAll(), findByFooAndBar() и т. Д., Но вы всегда можете добавить свои собственные. Так что в вашем случае, если вы хотите создать что-то вроде этого:

class ShopCategoryPageTab { 

    ... 
    List findAllProductsByXYZ(x, y, z) { 
     ... 
    } 
} 

Имя его, как вам нравится, конечно, и реализация будет критерии запроса или запрос HQL через ExecuteQuery().

+0

Вы могли бы реализовать это с помощью «имени запроса» функция введена в Grails 1,2 http://www.grails.org /1.2+Release+Notes –

0

Согласитесь с @Burt выше .. альтернативно вы также можете вызвать свои методы как getXProduct() или getYProduct() и получить к ним доступ как поля вместо методов.

Поля будут похожи на XProduct и YProduct. Вы должны пометить эти поля переходными явно ..

Надеется, что это помогает ..