【问题标题】:Grails GORM keywords 'type' and 'sqltype'Grails GORM 关键字 'type' 和 'sqltype'
【发布时间】:2015-12-02 12:27:21
【问题描述】:

我想知道在 GORM 设置中使用关键字“type”和“sqltype”有什么区别。

class User{
    String keywords;
    static mapping={
        keywords sqlType:'text';
    }
}

我使用 MySQL 作为数据库。基本上,这个关键字变量将存储一个通常超过 200 个单词的长字符串。我按照 stackoverflow 上的一些说明来指定其 GORM 映射,但不确定是使用“type”还是“sqltype”。我听说“sqltype”更特定于 MySQL。谁能给我一个更清楚的解释?

另外,这个设置似乎给我带来了“不正确的字符串”错误。 Incorrect string value: '\xAC\xED\x00\x05sr...' for column 'keywords' at row 1 \xAC\xED\x00\x05sr... is a magic number for Java serialization 好像这个sqltype设置有什么特殊效果? (我在 MySQL 中的所有字符集都是 utf8mb4)

感谢您的建议或阐述!

【问题讨论】:

    标签: grails


    【解决方案1】:

    据我所知,使用 type 映射将依赖于 Java 的 java.sql.Types(以及添加到 GORM 的一些其他映射类型),这将允许您从不同的数据库切换没有太大问题。

    另一方面,使用 sqltype 将使用数据库特定的数据类型,在这种情况下,如果没有一些额外的工作,它可能无法在其他 RDBMS 中工作。

    【讨论】:

    • 感谢您的回答。我会将 sqltype 迁移到 type 以确保更大的灵活性:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多