Grails GORM关键字'类型'和' sqltype'

时间:2015-12-02 12:27:21

标签: grails

我想知道使用关键字" type"之间的差异是什么?和" sqltype"在GORM设置中。

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

我使用MySQL作为数据库。基本上这个关键字变量将存储一个长字符串,通常超过200个单词。我在stackoverflow上遵循了一些指令来指定它的GORM映射,但不确定是否使用" type"或" sqltype"。我听说" sqltype"更具体的MySQL。有人可以给我一个更明确的解释吗?

此外,这个设置似乎给我带来了麻烦#34;错误的字符串"错误。 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)

感谢您的建议或阐述!

1 个答案:

答案 0 :(得分:1)

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

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