grails - 在 GORM 中重命名复合外键

标签 grails groovy grails-orm

我有以下类(class):


class Catalog {
  static mapping = {
    id composite:['name', 'manufacturer']
    columns {
      name column:'cat_name'
      manufacturer column:'manuf_id'
    }
  }
  String name
  Manufacturer manufacturer
}

class Order {
  static mapping = {
    columns {
      // How to rename foreign keys as cat_name, manuf_id?
    }
  }
  Catalog catalog // creates catalog_name, catalog_manufacturer_name
}

目前,Order 表是用属性 catalog_name 和 catalog_manufacturer_name(引用 Catalog 表的复合主键)生成的。

我需要将这些生成的列重命名为 Order 表中的 cat_name 和 manuf_id 以使用现有数据库。这可能吗?如果可能,如何实现?

最佳答案

这解决了我的问题(grails 2.0.4):

http://jira.grails.org/browse/GRAILS-4504?focusedCommentId=64996&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-64996

我的情况:

class GroupMessage implements Serializable {

    Group group
    Integer messageId

    static mapping = {
        datasources(['ds1'])
        table 't_group_msg'
        version false
        id composite: ['group', 'messageId'], generator: 'assigned'
        group column:'grpid'
        messageId column:'msgid', type:int
    }
}

class GroupMessageDetail implements Serializable {

    GroupMessage groupMessage
    Integer detailId
    String message
    String url

    static mapping = {
        datasources(['ds1'])
        table 't_group_msg_det'
        version false
        id composite: ['groupMessage', 'detailId'], generator: 'assigned'
        columns {
            groupMessage {
                column name: 'grpid'
                column name: 'msgid'
            }
            detailId column:'id', type:int
            message column:'sms'
            url column:'url'
       }
}

关于grails - 在 GORM 中重命名复合外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204738/

相关文章:

tomcat - Grails 1.3.7 中的 solr 索引失败

select - 合并后DomainClass.getAll()无法正常工作

unit-testing - Groovy MockFor : How to avoid nested closures when using multiple mocks?

Grails GORM 'or' 不与关联一起工作

Grails 中的 Javascript 表格单击功能

binding - 如何使用 GroovyShell 列出所有绑定(bind)变量

grails - Grails 如何将字符串转换为枚举?

mongodb - Grails:查找具有包含具有给定属性值的对象的列表属性的对象

hibernate - 我的 Grails 3.3.8 应用程序中 SpringSecurityService 中的 MissingPropertyException

Grails 独立 JAR 作为 linux 服务配置内存参数