gpt4 book ai didi

grails - HQL查询加入彼此一无所知的两个域

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

我的域模型包括几个域类,如下所示:

Budget和Employee类每个都知道一个职位,但是Position类不了解Budget或Employee类。我想使用GORM进行查询,以获取预算及其相关员工的列表。

我求助于HQL,因为它似乎没有一种跨域使用Criteria查询的方法。我的查询看起来像

from Budget as budget, Employee as employee where budget.position = employee.position 

此查询的问题在于,从员工到职位之间没有一对一的映射。也就是说,可以有“ float ”的职位,而没有员工被分配到该职位。可以将给定的 float 职位分配给预算,但不能分配给员工。

我想在HQL中使用左外部联接,例如
from Budget as budget left outer join Employee as employee on employee.position = budget.position

但是看起来HQL仅支持对直接在域类上的属性进行联接。预算和员工都不了解对方,所以我不确定这是否可行。有没有办法在HQL中执行我想要的查询?

最佳答案

您可以这样修改Position的grails中的域类定义,以使gorm知道该关联吗?

Position {
static hasMany = [budgets:Budget, employees:Employee]

}

然后,您可以像这样执行hql陈述:
from Budget b left join b.position p where p.employees is not empty

关于grails - HQL查询加入彼此一无所知的两个域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26914571/

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