Grails: как выбрать конкретное значение из домена

У меня есть идентификатор, который мне нужно использовать для запроса другого идентификатора.

select id2 from mytable where id2 = id1 --id1 is preloaded from another db

Как это сделать с доменом Grails? Я предполагаю, что это будет что-то вроде этого, но как мне получить конкретное значение, которое мне нужно, например, в предложении where?

package myapp

class MyId(id1) {
    int id2

    static mapping = {
        table "mytable"

        id2 column: "id2"
        version false
    }   
}  

Спасибо!


person gibsonsg    schedule 15.12.2016    source источник


Ответы (2)


Как правило, вы будете выполнять запросы в службе или контроллере, а не в самом классе домена. Тогда ваш доменный класс будет выглядеть так:

package myapp

class MyId {
    int id2
    static mapping = {
        table "mytable"
        version false
    }
}

и вы бы запросили его, просто используя MyId.findAllById2(id1)

person helgew    schedule 15.12.2016

если вы просто хотите получить запись с указанным идентификатором.. вы можете просто использовать

def result = your_Domain_Class_Package.Your_DomainClass_Name.get(id)

ваша результирующая переменная будет иметь интересующие вас результаты

person Muhammad Usman    schedule 20.12.2016