2016-12-15 3 views
0

J'ai un identifiant que j'ai besoin d'utiliser pour interroger un autre identifiant.Grails: Comment sélectionner une valeur spécifique du domaine

select id2 from mytable where id2 = id1 --id1 is preloaded from another db 

Comment faire cela avec un domaine Grails? Je suppose que ce serait quelque chose comme ça, mais comment puis-je obtenir la valeur spécifique dont j'ai besoin, comme dans une clause where?

package myapp 

class MyId(id1) { 
    int id2 

    static mapping = { 
     table "mytable" 

     id2 column: "id2" 
     version false 
    } 
} 

Merci!

Répondre

1

Généralement, vous effectuez l'interrogation dans un service ou un contrôleur, pas dans la classe de domaine elle-même. Votre classe de domaine ressemble alors à ceci:

package myapp 

class MyId { 
    int id2 
    static mapping = { 
     table "mytable" 
     version false 
    } 
} 

et vous interrogerait en utilisant simplement MyId.findAllById2(id1)

0

si vous voulez simplement obtenir le record avec l'identifiant donné .. vous pouvez simplement utiliser

def result = your_Domain_Class_Package.Your_DomainClass_Name.get(id) 

votre variable de résultat aura les résultats de votre intérêt