2016-12-14 28 views
1

說我有這兩個領域類的日期....的Grails GORM的方式來存儲許多一對多relationshp創建

class Design{ 
    static hasMany=[contributors:Contributor] 

} 

class Contributor{ 
    static hasMany=[designs:Design] 
    static belongsTo=Design 

} 

我添加貢獻者的設計隨着時間的推移使用

def design=Design.get(params.designId) 
... 
design.addToContributors(newContributor). 

假設我想跟蹤貢獻者與設計之間創建關係的日期。如果沒有Grails的格姆抽象我想補充一個日期列的關係表

design_rel_contributor 
| id | design_id | contributor_id | date_created | 

但我不知道如何實現這樣的「元數據」在Grails的許多一對多的關係。

回答

2

你可以簡單地添加dateCreated列,然後填充它通過實現beforeInsert()

class Contributor { 
    Date dateCreated 
    static hasMany = [designs:Design] 
    static belongsTo = Design 

    static constraints = { 
     dateCreated nullable: true 
    } 

    void beforeInsert() { 
     dateCreated = new Date() 
    } 
}