繁体   English   中英

从Grails中的一对多关系中查询项目列表

[英]Querying a list of items from a one-to-many relationship in Grails

如果我有一个名为Artist的课程,其中有很多Song:

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

class Song {
    String title
    Integer duration
}

我想知道哪些歌手演唱了唱片清单。 例如,我想认识唱过HelloMy LoveYesterday (字符串数组)的艺术家。 做这个的最好方式是什么?

我尝试使用条件和findAll,但无法真正弄清楚哪种方法是最好的。 有任何想法吗?

此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]获得artists[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM