string - Grails ID(主键)列作为字符串

标签 string grails primary-key grails-orm crud

我正在学习 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/

相关文章:

java - 字符串和运行时错误。 (颠倒字符串中字符顺序的程序)

grails - 将CommonsMultipartFile转换为文件

grails - 在 Grails/Groovy 中拦截或重命名方法调用

tomcat - 如何在 Tomcat 7 中配置过期过滤器

sql - 添加主键是否会导致底层数据重构

c - 我尝试了一个手动执行(strdup)函数的程序,但是在输入字符串后出现了错误

android - EditText getText() 返回空字符串

python3 struct.pack 以字符串作为参数

python - Peewee 示例中带有主键的 SQL 语法错误

java.sql.SQLException : Field 'id' doesn't have a default value 异常