我有一个简单的Grails应用程序。我有域如下Grails域名字符串查询查询
class Author implements Serializable {
....
static hasMany = [
book : Book
]
}
class Book implements Serializable{
Author author
Genres genres
static belongsTo = [author: Author , genre: Genres ]
static mapping = {
.....
author lazy: false
}
}
class Genres implements Serializable{
String title
}
现在我有一个要求,在那里我有流派标题的列表,我需要检索所有谁拥有这些类型之一ATLEAST一种书的作者。我需要在Author类中编写一个命名查询。我想下面的查询
hasGenre {cl ->
'book.genre.title' in cl
}
我传递字符串列表如下
Author.hasGenre(genereTitleStringArray)
但这似乎并不奏效。我有一些其他简单的命名查询工作正常。所以当我检索包括“hasGenere”时,这似乎不会影响检索。我究竟做错了什么?我是很新的这方面提前
本书通过懒惰单端关联与Generes关联。这是因为我不想在检索Genere对象时检索书籍。我正在使用Grails 2.2.4。如果我使用查询'Author.hasGenre(genereTitleStringArray).list()',则检索所有记录。 hasGenre方法似乎不会影响检索 – Visahan
我刚刚意识到我已在作者中将定义的标签定义为'Set book',将其更改为'Set book'并且它正在工作。感谢您的帮助 –
Visahan
很高兴听到,祝你好运兄弟) –