Grails - 获取域关系id而不获取整个对象

时间:2014-11-23 00:32:06

标签: grails groovy gorm

例如,我有以下域对象:

class A {
   B b

static constraints = {
        b nullable: true
    }
}

class B {
}

给定A的实例,我想只获取B的id。

我尝试了以下操作,但每次都收到null:

def id = a.bId

是否可以在不执行a.b.id的情况下获取b的ID?

1 个答案:

答案 0 :(得分:1)

您需要增强域名以使用基于GORM的映射提示(授予Hibernate)来实现此目的。

您的域名可能如下所示:

class A {
  static hasOne = [b: B]
}

class B {
  // stuff
}

使用hasOne将允许Hibernate管理关联,从而允许您使用a.bId表示法。

希望这有帮助。