GORM / Grails - добавить дополнительный столбец в выражение joinTable - PullRequest
2 голосов
/ 23 октября 2011

У меня есть настройка класса домена, похожая на эту

class NewsStory {
  String headline
  static hasMany = [channels:Channel]
  static mapping = {
      table 'NewsStory'
      addresses joinTable:[name:'Article_Channel', key:'ArticleId', column:'ChannelId']
  }
}

в таблице Article_Channel мне нужно заполнить дополнительный столбец с именем ArticleType скажем. Его значение всегда будет одинаковым, например, «новости» для этого класса домена, но будут отличаться для других, например «Блог» Канал - это что-то вроде «Безопасность» и т. Д.

Есть ли способ? Спасибо

1 Ответ

3 голосов
/ 24 октября 2011

Один из вариантов - создать собственный класс отображения «многие ко многим» и добавить туда поле.

http://grails.org/Many-to-Many+Mapping+without+Hibernate+XML

Так, например:

class ArticleChannel {
    NewsStory newsStory
    Channel channel
    String articleType
}

Тогда ваши NewsStory и Channel классы будут hasMany ArticleChannel класс.

...