我在User和Badge之间有一个M:M关系,它创建了一个名为“user_badges”的连接表。该表包含以下字段:user_id和badge_id。有没有办法在这个表上获得标准的date_created字段?
class Badge {
static belongsTo = User
static hasMany = [users: User]
}
class User {
static hasMany = [badges: Badge]
}
答案 0 :(得分:6)
基本上,您需要更改映射,以便M:M关系表示为两个1:M关系。以下是加入类为BadgeOwner
的示例(默认情况下,生成的连接表将命名为badge_owner
)
class Badge {
static hasMany = [owners: BadgeOwner]
}
class User {
static hasMany = [owners: BadgeOwner]
}
class BadgeOwner {
static belongsTo = [user: User, badge: Badge]
Date dateCreated
Date lastUpdated
}
答案 1 :(得分:4)
如果它有其他属性,则它不是连接表。这是一个单独的实体。所以,相应地映射: - )
答案 2 :(得分:0)
我正在做同样的研究。可能这是一个更好的方法。如果我错了,请在下面评论。
class Badge {
/* Declare Variables */
static belongsTo = [BadgeOwner]
}
class User {
/* Declare Variables */
static belongsTo = [BadgeOwner]
}
class BadgeOwner {
User user
Badge badge
Date dateCreated
Date lastUpdated
}