grails - GORM/Grails - 向 joinTable 表达式添加额外的列

标签 grails join grails-orm lookup-tables

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

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 类将 hasManyArticleChannel 类。

关于grails - GORM/Grails - 向 joinTable 表达式添加额外的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867621/

相关文章:

grails - 带有查询和排序的 HQL 注入(inject)/findAll

data-binding - grails datePicker 数据绑定(bind)

json - 使用 withCriteria 时限制数据范围

sql - 检查关系是否存在并返回真或假

php - MYSQL 用逗号分隔关键字将字段与另一个字段匹配

mysql - Grails + mysql 创建大写的表名和列名

javascript - 分页后复选框不会保持选中状态

grails - Grails中基于角色的域类字段访问

mysql - 自联表 SQL

grails - 如何使 LIMIT 在 Grails HQL executeUpdate() 中工作?