2012-10-17 8 views
10

Potrzebuję pomocy w tworzeniu kryteriów hibernacji dla obiektów zagnieżdżonych. Na przykład:Jak utworzyć kryteria w groovy/grails dla zagnieżdżonego obiektu?

class office{ 
    Integer id; 
    OfficeDetails cmdData ; 
} 

class OfficeDetails { 
    Integer id; 
    Region region; 

} 

class Region { 
    Integer id; 
    Integer regionNum; 
} 

Teraz z klasy usług (officeService) próbuję podciągnąć wszystkich biur, które pasują do określonego regionu jako:

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

    return allOfficesInTheRegion 
} 

Zawsze coraz wyjątek: "org. hibernate.QueryException: nie można rozwiązać właściwości: " Potrzebuję znaleźć właściwą drogę do stworzenia kryteriów dla tego zapytania. Czy ktoś może pomóc?

Odpowiedz

16

Patrz "odpytywanie stowarzyszenia" pod criteria section of the user guide:

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

dla mojego i inni skorzystają kopiując kod roboczych: def kryteria = MyOffice.createCriteria(); Wyniki def = criteria.list { cmtData { Region { równoważników ("regionNum" regionNumber) } } }; wyniki zwrotu; – Patty

Powiązane problemy