gpt4 book ai didi

grails - 为什么这个带有 JOIN 的 Grails/HQL 查询返回域类对列表?

转载 作者:行者123 更新时间:2023-12-01 11:59:56 25 4
gpt4 key购买 nike

我无法弄清楚如何在 Groovy/Grails 中执行“连接”以及我得到的返回值

person = User.get(user.id)
def latestPhotosForUser = PhotoOwner.findAll(
"FROM PhotoOwner AS a, PhotoStorage AS b WHERE (a.owner=:person AND a.photo = b)",
[person:person], [max:3])

latestPhotosForUser 不是 PhotoOwners 的列表。它是 [PhotoOwner, PhotoStorage] 对的列表。由于我正在执行 PhotoOwner.findAll,因此我预计只会看到 PhotoOwners。

我是做错了什么,还是这是正确的行为?

最佳答案

executeQueryfindAll 有点误导,因为您调用它们的类与查询或其返回类型无关 - GORM 将方法添加到所有域类。

鉴于你问问题的方式,我假设你想要

def latestPhotosForUser = PhotoOwner.executeQuery(
"SELECT b FROM PhotoOwner a, PhotoStorage b WHERE a.owner=:person AND a.photo = b",
[person:person], [max:3])

关于grails - 为什么这个带有 JOIN 的 Grails/HQL 查询返回域类对列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707087/

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