2012-06-21 128 views
0

我有四個具有公共屬性的域類,transID, createdDate其中transID鍵入int並映射爲表的主鍵。通過抽象的規則,我們將常見的屬性/屬性分離到一個抽象類,然後讓子類(在我的情況下,我有四個域類)繼承它們或者它。Grails域類繼承ID

在我的抽象類中包含兩個屬性transID, createdDate但由於transID被設置爲四個子類的主鍵,所以我在抽象類中對此映射進行了格式化。

static mapping = { 
    id generator: 'increment', 
    name: 'transID', 
    column: 'transID', 
    type: int 
} 

我已經在運行的項目則沒有錯誤,但是當我檢查了DBCONSOLE表中,我看不出有關係的四個領域類的四個表但我只看到有抽象類第一個孩子的屬性。

有沒有辦法來抽象提到的領域類的ID或我必須將其映射到子類,而不是在抽象類中。

謝謝。

回答

1

默認情況下GORM使用表每類層次結構,所以你將有隻有一個表 - 如果你想每個子類一張表 - 您可以配置使使用GORM DSL - 見Inheritance in gorm

但你卻用表之前要小心每個子類過度。

+0

對不起,延遲迴復。但它仍不能解決問題。我仍然有同樣的錯誤。 –

+0

錯誤在哪裏!你沒有提到任何錯誤 –

+0

其實,我仍然有相同的錯誤,只有在數據庫中創建的四個表中的一個 –