Динамический список класса домена Grails как свойство - PullRequest
1 голос
/ 13 февраля 2010

Допустим, у меня есть класс домена с именем ShopCategoryPageTab. И у меня есть класс домена под названием Product.

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

Например, я мог бы хотеть иметь свойство "products", в котором перечислены все товары с критериями X, Y Z.

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

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

Ответы [ 2 ]

2 голосов
/ 13 февраля 2010

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

class ShopCategoryPageTab {

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

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

0 голосов
/ 14 февраля 2010

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

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

Надеюсь, это поможет ..

...