我正在学习 Grails,并且有一个关于旧表的问题。现在我在 Controller 中使用脚手架,但最终(当然)会将其构建为自定义 Controller 和 View - 现在我只是试图让模型正确。假设我有一个现有的表 FOOBAR,其中包含列 FOOBAR_CODE(varchar,主键)和 FOOBAR_DESC(varchar) - 我如何对此进行建模(如创建一个域类,以便我可以 CRUD)?我在互联网上搜索无果——当然我只是错过了一些东西。查看示例,我的最后一次尝试如下。当我访问 Controller 的“列表”操作时,我看到“代码”和“描述”列,“描述”列中有值,但“代码”列没有(我的应用程序连接到现有的表中包含一些行) - 很明显,我的应用程序没有将我的“代码”属性/列与正确的列(FOOBAR_CODE)相关联 - 当我尝试添加新条目并且我时,这一事实进一步证明了这一点收到错误“字段‘FOOBAR_CODE’没有默认值” - 应用程序未将创建表单上的“描述”字段与数据库中的 FOOBAR_DESC 列关联起来。我相信我的问题会在我 future 的学习中得到解答,我知道我有点操之过急了。有人有什么建议吗?
我确信我的问题之一是“生成器:'分配'” - 它似乎依赖于数据库来分配值。
基本上,我有一个包含两个 varchar 列(一个是主键)的现有表,并且我正在尝试 CRUD 功能。
我将非常感谢任何见解!
谢谢!
class FOOBAR {
String id
String code
String desc
static constraints = {
}
static mapping = {
table "FOOBAR"
version false
columns {
id column: 'FOOBAR_CODE', generator: 'assigned', name: 'code'
desc column: "FOOBAR_DESC"
}
}
}
最佳答案
试试这个:
class FOOBAR {
String code
String desc
static constraints = {
}
static mapping = {
table "FOOBAR" //schema: "SCHEMA" if it is different from the user
version false
id generator: 'assigned', name: 'code'
code column: "FOOBAR_CODE"
desc column: "FOOBAR_DESC"
}
}
关于string - Grails ID(主键)列作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16880262/