Добавить поле dateCreated для объединения таблицы в Grails - PullRequest
4 голосов
/ 02 февраля 2011

У меня есть отношение 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 ]

6 голосов
/ 02 февраля 2011

По сути, вам нужно изменить отображение так, чтобы отношение 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
}
4 голосов
/ 02 февраля 2011

Если у него есть дополнительные свойства, это не таблица соединения.Это отдельная сущность.Итак, сопоставьте это соответственно: -)

0 голосов
/ 28 ноября 2014

Я занимаюсь такими же исследованиями. Может быть, это лучший способ. Пожалуйста, прокомментируйте ниже, если я ошибаюсь.

class Badge {    
  /* Declare Variables */
  static belongsTo = [BadgeOwner]
}

class User {
  /* Declare Variables */
  static belongsTo = [BadgeOwner]
}

class BadgeOwner {
  User user
  Badge badge
  Date dateCreated 
  Date lastUpdated
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...