2010-06-28 90 views
2

我有一個結構相當簡單的遺留數據庫。我有「roll」包含「rollTotals」。 Roll有一個「rollID」的主鍵,RollTotals在「rollID」和「category」上有一個複合鍵。Grails/GORM遺留數據庫一對多映射問題

所以Grails中,我有:

class Roll { 
    Integer id 
    ... 
    static hasMany = [ rollTotals: RollTotal ] 
    static mapping = { 
     table('rolls') 
     id(column:'rollID') 
     version false 
     ... 
    } 
} 

class RollTotal implements Serializable { 
    Integer rollId 
    Integer category 
    ... 
    static belongsTo = [ Roll ] 

    static mapping = { 
     table('rolltotals') 
     id composite:['rollId', 'category'] 
     version false 
     rollId(column:'rollID') 
     category(column:'category') 
    ... 
} 

這些映射單獨工作正常,但當我把的hasMany,它說:

缺少表: rolls_rolltotals

所以我想它需要知道的外鍵使用的列,所以我增加了對卷:

static mappedBy = [rollTotals: "rollId" ] 

它說:

org.codehaus.groovy.grails.exceptions.GrailsDomainException :指定的不存在的映射特性[rollId]財產[rollTotals]類[類滾動]

我rollID嘗試(如列名),但得到相同的結果。

有關我如何鏈接這些表的任何想法?

回答

4

試着改變屬於關聯的RollTotal到:

static belongsTo = [roll: Roll] 

,並加入到映射RollTotal

roll(column:'rollId') 
+0

這個工作,我明白爲什麼。謝謝。 – 2010-06-30 08:43:48