2

我正在学习 Grails,我对遗留表有疑问。现在我在我的控制器中使用脚手架,但最终(当然)会将其构建到自定义控制器和视图中 - 现在我只是试图让模型正确。假设我有一个现有的表 FOOBAR,其中包含 FOOBAR_CODE(varchar,主键)和 FOOBAR_DESC(varchar)列 - 我如何对其建模(如创建域类,以便我可以 CRUD)?我在互联网上搜索无济于事 - 当然我只是错过了一些东西。查看示例,我的最后一次尝试如下。当我访问控制器的“列表”操作时,我看到一个“代码”和“描述”列,“描述”列中有值,但“代码”列没有 t(我的应用程序已连接到其中包含一些行的现有表)-很明显,我的应用程序没有将我的“代码”属性/列与正确的列 (FOOBAR_CODE) 相关联-事实进一步证明了这一点当我尝试添加新条目时,我收到错误“字段'FOOBAR_CODE'没有默认值” - 应用程序没有将创建表单上的“Desc”字段与FOOBAR_DESC列相关联D B。我相信我的问题会在我未来的学习中得到解答,我知道我有点过分了。有人有什么建议吗?

我确信我的问题之一是“生成器:'assigned'”——它似乎依赖于数据库来分配一个值。

基本上,我有一个包含两个 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"
        }
      }


}
4

1 回答 1

2

尝试这个:

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"
      }

}
于 2013-06-02T15:00:11.307 回答