2013-08-16 68 views
0

我在我的領域類一組像整數...標準和集合 - Grails的

class MyDomain { 
    (...) 
    Set ids 
    (...) 
} 

,並希望有一個標準,如果找到我的對象在該組的代表特定的ID。

這意味着像...

MyDomain.withCriteria { 
    /* ids contains myId */
} 

'的' 不工作 - 我希望相反。 myId必須在ids內。

那麼 - 任何人都可以幫助我呢?

編輯:

讓我們假設我有一個MYDOMAIN物體與IDS含有SET [2,3]和另一個具有[3,4]。

我想有一個條件返回所有包含id 2的MyDomain對象在ids集中,因此我的條件的結果值將是僅包含提到的第一個MyDomain對象的列表。

+1

也許這? http://stackoverflow.com/questions/11475009/is-there-a-contains-functionality-on-a-collection-property-of-a-domain-object –

+0

你可以給一個數據的例子,什麼是返回vs忽略?您對該查詢的口頭描述有點模糊。 – codelark

+0

@Sérgio - 其實這個鏈接是有幫助的,但不是針對那個特定的情況,因爲我有一組ID,而不是一組具有ID的對象......原來我不能使用IdEq,也沒有一個標準比如: 'IDS IDEQ(myId) }' '因爲我的ID已經在我的設置中。 –

回答

0

按照@Sergio發佈的鏈接,如果你想/需要的條件,但我更喜歡HQL:

MyDomain.executeQuery("Select m from MyDomain m join m.ids as id where id = :id", [id: myId]) 
+0

我最終使用HQL--就像那樣。但我仍然想知道我是否可以使用標準來做到這一點:D –