2015-12-10 7 views
0

Могу ли я преобразовать это в GRAILS/GORM. Если да, пожалуйста, помогите.Как преобразовать родной sql в 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) 
+0

вы могли бы быть более точным. Вы хотите создать домены GORM для вышеуказанного запроса или хотите преобразовать его в gql или criteriaQuery или hql. –

+0

Я хочу преобразовать его в grails createCriteria. –

+0

Укажите свой класс домена и объясните свой запрос. –

ответ

0

Чтобы создать эквивалентный запрос в качестве запроса критериев Горма, то первое, что вам нужно, это классы домена (с надлежащими ассоциациями) для каждой таблицы. В качестве примера, вот некоторые псевдо-код:

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 
     } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^