获取一对多加载对象的ID,而无需再使用GORM访问数据库

mfo*_*ett 8 grails groovy grails-orm

我必须使用与数据库表相关的GORM域,A和B. A与B具有一对多关系.因此,类看起来类似于:

class A {
   B b
   Long id
}

class B {
   Long id
}
Run Code Online (Sandbox Code Playgroud)

当我检索A的实例时,从数据库中检索相应B实例的ID.但是,当我尝试通过以下方式访问该ID时:

A a = A.get(11)
Long bid = a.b.id
Run Code Online (Sandbox Code Playgroud)

整个对象从数据库加载.在某些情况下,我只想要B的ID(已经检索过)并且不想从数据库加载整个实例.有没有办法从B获取ID而无需返回并获取整个对象.

注意:我知道它在a.b.id上面的行上进行了额外的提取,因为我可以看到自从我打开loggingSqlDataSource文件中的选项后生成的SQL .

Jos*_*ore 9

代替:

长期出价= abid

使用:

长期出价= a.bId