grails - Grails静态映射失败(重复的ID)

标签 grails mapping gorm

我正在尝试进行逆向工程,并在数据库中为给定的表模式创建模型类。

该表的名称为infopac_usersProva,它具有两列:

  • strCip varchar(15),即id
  • USERNM varchar(75)

  • 我写了这样的模型:
        class Infopac_usersProva {
    
           String strCip 
           String usernm
    
           static mapping={
            datasource 'gpaq'
            table 'infopac_usersProva'
            version false
            columns{
                id column: 'strCip'
                usernm column: 'USERNM', sqlType: "varchar(75)"
                strCip column: 'strCip', sqlType: "varchar(15)"
            }
           }
    
           static constraints = {
            strCip (nullable:true, insert:false, update:false)
           }
        }
    

    但是我得到这个错误:

    Repeated column in mapping for entity: edu.upc.gpaq.domain.generic.Infopac_usersProva column: strCip (should be mapped with insert="false" update="false")



    我需要为strCip指定列名,因为如果我删除该行,该模型将尝试获取str_cip而不是strCip。如果我取出“id列:'strCip”,则会收到一条错误消息,提示没有id列。

    我究竟做错了什么?

    最佳答案

    我认为您可以摆脱strCip的定义。
    而是正确定义id字段。

    看看这是否适合您:

    class Infopac_usersProva {
    
    String usernm
    
    static mapping={
        datasource 'gpaq'
        table 'infopac_usersProva'
        version false
        columns{
            id generator: 'assigned', name: 'strCip', type: 'string'
            usernm column: 'USERNM', sqlType: "varchar(75)"
        }
    }
    

    我没有检查...

    关于grails - Grails静态映射失败(重复的ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15517871/

    相关文章:

    python - 如何在 python 中创建我自己的映射类型

    grails - 是否可以在creatCriteria内部访问属性值?

    json - 有没有一种简单的方法可以使GORM错误的静态API友好

    grails - 由于缺少方法而无法设置脚手架

    java - Image byte [] 到 Grails 中的 response.outputStream 导致 "Cannot forward after response has been committed"

    hibernate - grails 不使用缓存

    grails - Grails 2.5:找不到GSP文件的资源(404)

    java - 给定纬度和经度点,找到边缘点和多边形区域

    java - 如何使用 Controller 制作链接,例如/{国家}/{该国家/地区的城市}/

    grails - 在不删除现有表的情况下更改Grails GORM格式