gpt4 book ai didi

字符串列表的 Grails 域命名查询

转载 作者:行者123 更新时间:2023-12-02 03:21:21 25 4
gpt4 key购买 nike

我有一个简单的 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

}

现在我有一个要求,我有一个流派标题列表,我需要检索在其中一个流派中至少拥有一本书的所有作者。我需要在 Author 类中编写一个命名查询。我尝试了以下查询

hasGenre {cl ->
'book.genre.title' in cl
}

然后我传递一个字符串列表如下

 Author.hasGenre(genereTitleStringArray)

但这似乎不起作用。我还有其他一些简单的命名查询,效果很好。因此,当我检索包括“hasGenere”时,这似乎不会影响检索。我究竟做错了什么?我对这个领域很陌生

提前致谢

最佳答案

你用过list()方法吗?如果不是,您必须使用它从 namedQuery 获取您的实体,因为 namedQuery 返回 NamedCriteriaProxy.Class:

author = Author.hasGenre(genereTitleStringArray).list()

对我来说这样的代码运行良好,在我的作者中我有:

static namedQueries = {
hasGenre { cl->
'book.genres.title' in cl
}
}

同样预订。关于流派,您还必须一对一地添加依赖项(如果没有):

 static belongsTo = [book: Book]

或一对多:

static hasMany= [book: Book]

对我来说,当前代码运行良好,祝你好运。

附言我正在使用 grails 2.3.11

关于字符串列表的 Grails 域命名查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com