gpt4 book ai didi

grails - Grails命名查询-通过关联查找

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

我想创建一个命名查询,该查询将基于子类属性的一个或多个属性找到一个类的所有对象。

我希望能够找到所有Foo.me ==“some string”的酒吧

所以,我有这个,它不起作用:

class Foo {
String me
}

class Bar {
Foo foo

static namedQueries = {
findByFooMe { meStr ->
eq(foo.me, meStr)
}
}
}

正确的语法是什么样的?另外,如果Bar具有很多Foos,并且我想查找其Foo,me属性之一是“搜索字符串”的所有Bar,它会如何变化?


class Bar {
static hasMany [foos: Foo]
}

最佳答案

虽然我不建议使用findBy作为命名查询的前缀,但是您接近正确的实现。这也是具有新名称的更新查询。

static namedQueries = {
locateByFooMe { meStr ->
foo {
eq('me', meStr)
}
}
}

如果您更改与集合的关系(一对多),只需确保将属性名称 foo(在这种情况下)更改为更改后的名称(问题中的 foos),以上查询仍将继续起作用。

关于grails - Grails命名查询-通过关联查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111614/

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