grails gorm 存储创建多对多关系的日期的方法

grails gorm way to store the date a many-to-many relationshp was created

假设我有这两个域类 ....

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 gorm 抽象,我会在关系 table

中添加一个日期列
 design_rel_contributor
 | id | design_id | contributor_id | date_created |

但我不知道如何在 grails 中实现这样的 "metadata" 多对多关系。

您只需添加 dateCreated 列,然后通过实施 beforeInsert():

来填充它
class Contributor {
    Date dateCreated
    static hasMany = [designs:Design]
    static belongsTo = Design

    static constraints = {
        dateCreated nullable: true
    }

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