Grails:如何 select 来自域的特定值

Grails: How to select specific value from domain

我有一个 ID,我需要用它来查询另一个 ID。

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

谢谢!

通常,您会在服务或控制器中进行查询,而不是在域 class 本身中进行查询。您的域 class 看起来像这样:

package myapp

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

您只需使用 MyId.findAllById2(id1)

即可查询它

如果你只是想获取给定 id 的记录..你可以简单地使用

def result = your_Domain_Class_Package.Your_DomainClass_Name.get(id)

您的结果变量将包含您感兴趣的结果