[英]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
}
我想知道哪些歌手演唱了唱片清单。 例如,我想认识唱过Hello
, My Love
和Yesterday
(字符串数组)的艺术家。 做这个的最好方式是什么?
我尝试使用条件和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.