如何将本机sql转换为grails/gorm

如何将本机sql转换为grails/gorm,grails,gorm,grails-domain-class,Grails,Gorm,Grails Domain Class,我可以将其转换为GRAILS/GORM吗。如果有,请帮忙 select b.id, b.username, b.first_name, b.last_name from tb_user_orgpermissions a inner join tb_user b on a.username = b.username where (a.department_id = :dept_id) and (a.agency_id = :agy_id) 要将等效查询创建为gorm条件查询,首先需要为每个表创建

我可以将其转换为GRAILS/GORM吗。如果有,请帮忙

select b.id, b.username, b.first_name, b.last_name
from tb_user_orgpermissions a
inner join tb_user b on a.username = b.username
where
(a.department_id = :dept_id)
and (a.agency_id = :agy_id)

要将等效查询创建为gorm条件查询,首先需要为每个表创建域类(具有适当的关联)。例如,下面是一些伪代码:

class User {
    String username
    String firstName
    String lastName

    static hasOne = [permission: UserPermission]
}

class UserPermission {
    Department department
    Agency agency
}

class Department {}
class Agency {}
在本例中,
User
UserPermission
有关联

使用类似的工具,您可以创建条件查询(使用):


你能说得更准确些吗。您想为上述查询创建GORM域,还是想将其转换为gql、criteriaQuery或hql。我想将其转换为grails createCriteria。请指定您的域类并解释您的查询。
User.withCriteria {
    projections {
        property 'id'
        property 'username'
        property 'firstName'
        property 'lastName'
    }

    permission {
        department {
            eq 'id', dept_id
        }

        agency {
            eq 'id', agy_id
        }
    }
}