2012-01-27 57 views
1

一個一對多的關係查詢的項目清單。如果我有一個叫藝術家類,其中有許多歌曲:從Grails中

class Artist { 
    String name 
    static hasMany = [songs : Song] 
} 

class Song { 
    String title 
    Integer duration 
} 

我想知道哪個藝術家演唱的標題列表。例如,我想知道唱着HelloMy LoveYesterday(字符串數組)的藝術家。做這個的最好方式是什麼?

我試過使用criteria和findAll,但無法真正弄清楚哪個是最好的方法。有任何想法嗎?

回答

3

這HQL將工作:

def artists = Artist.executeQuery(
    'select distinct a from Artist a join a.songs song where song.title in (:titles)', 
    [titles: ['Hello', 'My Love', 'Yesterday']]) 

它會返回藝術家列表,但如果有結果只有一個,你可以把它作爲artists[0]

+0

AWWWWW YEAHHH IT WORKSS謝謝! :) – 2012-01-27 06:25:44