2012-05-17 106 views
0

我想列出屬於SAMPLE_TYPE的所有SAMPLE_PARAMETERS。我有兩個類:Sample_type和Sample_parameter。還有一個自動創建的連接表,其中列出了名爲Sample_Type_Sample_Parameters的所有類型/參數的ID。我試圖列出屬於某個類型的所有參數,但無法弄清楚如何訪問連接表。Grails查詢 - 無法訪問連接表

我可以使用withCriteria嗎?如果是這樣,一個人會怎麼做呢?在僞代碼:舉例來說,如果我的樣品類型是血 - 我想這

def result = SampleParameters.withCriteria{ 
//all parameters in which the sampleType.id in join table matches the blood's id  
} 

我的課表:

class SampleType { 

    String sampleName 

    static constraints = { 
     sampleName(blank:false) 
    } 
    String toString() { 
     "${sampleName}" 
    } 

    static hasMany =[sampleParameters:SampleParameter]//[tags:Tag] 
    static mappedBy=[sampleParameters:"sampleTypes"]//[tags:"domainClass2s"] 
} 

class SampleParameter { 

    String name 
    String value 

    static hasMany = [ 
    samples:Sample,   //domainClass1s: DomainClass1, 
    sampleTypes:SampleType //domainClass2s: DomainClass2 
    ] 

    static mappedBy = [samples:"sampleParameters",sampleTypes:"sampleParameters"]//[domainClass1s: "tags", domainClass2s: "tags"] 
    static belongsTo =[Sample,SampleType] //[DomainClass1, DomainClass2] 

    static constraints = { 
     name() 
     value(unique:true) 
    } 

    @Override public String toString() { 
     return value 
    } 
} 

回答

0

你就應該能夠做到:

def props = SampleType.findBySampleName("Blood").sampleProperties 

但它取決於你如何定義你的域類,你從你的問題中省略了

+0

我已經更新了我的原始問題到incl ude the classes – Universitas

+0

因此'SampleType.findBySampleName(「Blood」).sampleParameters'是否工作? –

+0

它的工作原理。現在我只需要分離列表中的這些參數。謝謝!我正試圖與Criteria一起使用,並沒有得到任何地方。 – Universitas