2012-10-17 10 views
10

Ich brauche Hilfe beim Erstellen von Hibernate-Kriterien für verschachtelte Objekte. Zum Beispiel:Wie erstellt man Kriterien in groovy/grails für verschachtelte Objekte?

class office{ 
    Integer id; 
    OfficeDetails cmdData ; 
} 

class OfficeDetails { 
    Integer id; 
    Region region; 

} 

class Region { 
    Integer id; 
    Integer regionNum; 
} 

Nun, von der Serviceklasse (officeService) ich alle Büros zu ziehen versuchen, die eine bestimmte Region paßt wie:

List<Office> findAllByRegion(Integer regionNumber){ 
    def criteria = { eq ('cmdData.region.regionNum', regionNumber) } 
    def allOfficesInTheRegion = Office.findAll(criteria) 

    return allOfficesInTheRegion 
} 

Immer Ausnahme bekommen: "org. hibernate.QueryException: Eigenschaft konnte nicht aufgelöst werden: " Ich muss den richtigen Weg finden, um Kriterien für diese Abfrage zu erstellen.Kann jemand helfen?

Antwort

16

Siehe "Abfragen von Vereinigungen" unter der criteria section of the user guide:

def criteria = { 
    cmdData { 
    region { 
     eq('regionNum', regionNumber) 
    } 
    } 
} 
+0

Für meine und andere profitieren Kopieren der Arbeits Code: def Kriterien = MyOffice.createCriteria(); def results = { criteria.list cmtData { Bereich { eq ("regionNum", regionNumber) } } }; Ergebnisse zurückgeben; – Patty

Verwandte Themen