【问题标题】:In Grails, how do I declare a SQL Server Schema name for a Domain Class?在 Grails 中,如何为域类声明 SQL Server 架构名称?
【发布时间】:2009-10-10 20:11:11
【问题描述】:

我最近开始阅读 Grails 并希望使用 SQL Server 安全模式对 GORM 生成的表进行分组。但是,我似乎找不到解释如何执行此任务的参考。我也是 Hibernate 的新手,想知道这是否可能。谢谢。

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    您可以在域类中明确指定映射为described here 时执行此操作:

    class Book {
        static mapping = {
            table name:"books", schema:"dbo"
        }
    }
    

    【讨论】:

    • 这很棒。谢谢你的链接。 GORM 也会创建 Schema 吗?如果不是,那么 Grails 中围绕此类设计的最佳实践是什么?
    • 我并没有真正使用过这样的模式,但通过tring应该不难发现。
    • 我会试一试的。感谢您的反馈。谢谢。
    【解决方案2】:

    Michael Borgwardt 给出的答案在技术上是正确的,但请注意,从 Grails 1.3.4 开始,仍然存在一个错误,即使用 table-per-class 继承所有子类将忽略架构定义。

    一种可能的解决方法是命名整个表并包含以下架构:“dbo.books”,但这可能会导致引用完整性问题; GORM 将尝试构造一个包含太多“.”的名称。字符,而 PostgreSQL (for one) 认为您正在尝试创建跨数据库服务器引用完整性,这是不受支持的。

    【讨论】:

      猜你喜欢
      • 2012-12-06
      • 2017-03-10
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      相关资源
      最近更新 更多