Чтобы создать эквивалентный запрос в качестве запроса критериев Горма, то первое, что вам нужно, это классы домена (с надлежащими ассоциациями) для каждой таблицы. В качестве примера, вот некоторые псевдо-код:
class User {
String username
String firstName
String lastName
static hasOne = [permission: UserPermission]
}
class UserPermission {
Department department
Agency agency
}
class Department {}
class Agency {}
В этом примере User
имеет one-to-one ассоциацию с UserPermission
.
С чем-то вроде этого на месте вы можете создать запрос критерии (с projections):
User.withCriteria {
projections {
property 'id'
property 'username'
property 'firstName'
property 'lastName'
}
permission {
department {
eq 'id', dept_id
}
agency {
eq 'id', agy_id
}
}
}
вы могли бы быть более точным. Вы хотите создать домены GORM для вышеуказанного запроса или хотите преобразовать его в gql или criteriaQuery или hql. –
Я хочу преобразовать его в grails createCriteria. –
Укажите свой класс домена и объясните свой запрос. –