我有一个与此类似的域类设置

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

在Article_Channel表中,我需要填充一个名为ArticleType的额外列。其值将始终是相同的,例如此域类的“新闻”,但对于其他域类(例如'博客'
channel 就像“安全性”之类的东西

有办法吗?
谢谢

最佳答案

一种选择是创建自己的多对多映射类,并在其中添加字段。

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

因此,例如:

class ArticleChannel {
    NewsStory newsStory
    Channel channel
    String articleType
}

然后,您的NewsStoryChannel类将对hasMany类进行ArticleChannel

08-03 19:35