2011-08-29 21 views
7

我必須使用與數據庫表相關的GORM域A & B. A具有與B一對多的關係由於這一點,類看起來類似於:獲取一對多加載對象的ID,而不用另一趟帶有GORM的數據庫

class A { 
    B b 
    Long id 
} 

class B { 
    Long id 
} 

當我檢索B的相應實例A的ID的一個實例是從數據庫檢索。但是,當我嘗試通過類似方式訪問該ID時:

A a = A.get(11) 
Long bid = a.b.id 

整個對象從數據庫加載。在某些情況下,我只想要B(已經被檢索到)的ID,並且不想從數據庫加載整個實例。有沒有一種方法可以從B獲取ID而不必返回並獲取整個對象。

注意:我知道它正在對上面的a.b.id進行額外的讀取操作,因爲我可以看到自從我在DataSource文件中打開loggingSql選項後生成的SQL。

+2

無關 - 你不需要在你的域類中聲明'Long id' - Grails會爲你注入這個字段以及'version'字段。 –

回答

8

相反的:

龍的出價=阿比德

使用:

龍的出價= a.bId

相關問題