首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态映射表的Grails关系

静态映射表的Grails关系
EN

Stack Overflow用户
提问于 2010-09-22 21:55:24
回答 1查看 3.8K关注 0票数 1

在我的一生中,我似乎不能使用Grails在映射表上处理关系。我有两个领域,我试图加入,资源和磁带。一个资源可以有许多盒式磁带。

如果我使用脚手架运行下面的代码,我会得到一个错误“未知的列'this_.cassette_id‘in 'field list'”。如果我试图在映射中定义cassette_id,我会在编译时得到一个致命错误。

任何明智的Grails向导能让我走上正确的道路吗?我是个新手,我已经尝试过我能找到的每一种方法来使它有效。

代码语言:javascript
复制
//resource definition

package edu.place.project

class Resource {
    String title
    String number
    String type
    Cassette cassette

    static hasMany  = [cassette : Cassette ]

    static mappedBy = [cassette : "hvt"]

    static mapping = {
            table "Resources"
    version false
            columns {
                    id column : "resourceIdentifier2"
                    title column: "title"
                    number column: "extentNumber"
                    type column: "extentType"
            }  
    }

    static constraints = {
    }
}

//Cassette definition

package edu.place.project

class Cassette {
    String id
    String type
    String numCode
    String hvt

    static belongsTo = Resource

    static mapping = {
            table "ArchDescriptionInstances"
            version false
            columns {
                    id column : "barcode", type : String
                    type column : "userDefinedString2"
                    numCode column : "container1AlphaNumIndicator"
                    hvt column : "userDefinedString1"
            }
    }

     static constraints = {
            barcode(unique : true)
     }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-22 22:11:54

这可能是因为你有:

代码语言:javascript
复制
class Resource {
    Cassette cassette
    static hasMany = [cassette: Cassette]
}

这两个定义相互冲突。hasMany隐式地尝试在您的域上创建一个名为cassetteSet (集合),但是您已经显式地将其定义为一个Cassette

尝试删除Cassette cassette,看看会发生什么情况。我不认为你所描述的模型需要它。

顺便说一句,您还可以考虑将字段重命名为cassettes,因为它是一个集合,而不是一个单一对象。

在这些之后,您的域(至少是关系部分)可能如下所示:

代码语言:javascript
复制
class Resource {
    static hasMany = [cassettes: Cassette]
}

class Cassette {
    Resource resource
    static belongsTo = Resource
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3769950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档