2010-02-12 4 views
1

Disons que j'ai une classe de domaine appelée ShopCategoryPageTab. Et j'ai une classe de domaine appelée produit.Grails Classe de domaine Liste dynamique en tant que propriété

Je veux ShopCategoryPageTab pour avoir une liste de produits. Cependant, cette liste n'est pas statique, mais déterminée par une formule.

Par exemple, je pourrais avoir besoin d'avoir une propriété « produits » qui liste tous les produits avec des critères X, Y Z.

donc cette propriété/liste n'est pas saisie manuellement par une personne, il est généré dynamiquement. (Les produits peuvent être supprimés/ajoutés par des applications externes, les propriétés du produit peuvent changer).

Y a-t-il une telle chose?

Répondre

2

Souvent, vous appelez les méthodes ajoutées dynamiquement comme list(), findAll(), findByFooAndBar(), etc., mais vous pouvez toujours ajouter les vôtres. Donc, dans votre cas, vous souhaitez créer quelque chose comme ceci:

class ShopCategoryPageTab { 

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

Nom cependant que vous aimez bien sûr, et la mise en œuvre sera une question de critères ou une requête HQL via executeQuery().

+0

Vous pouvez implémenter cela en utilisant la fonction « requête nommée » introduite dans Grails 1.2 http://www.grails.org /1.2+Release+Notes –

0

D'accord avec @Burt ci-dessus .. Vous pouvez aussi appeler vos méthodes comme getXProduct() ou getYProduct() et y accéder en tant que champs au lieu de méthodes.

Les champs seraient comme XProduct et YProduct. Vous devez marquer ces champs transitoires explicitement ..

Hope it helps ..

Questions connexes