添加dateCreated字段以连接Grails中的表

时间:2011-02-02 15:49:26

标签: hibernate grails groovy

我在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]
}

3 个答案:

答案 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
}