Grails枚举序数
我有一个枚举,如:Grails枚举序数,grails,groovy,enums,Grails,Groovy,Enums,我有一个枚举,如: enum Color { RED("Red color"), GREEN("green color") String color Color(String color) { this.color = color } } 和一个域: class MyDomain { String name Color color static mapping = { color enumType: "ordinal", sqlType: "
enum Color {
RED("Red color"),
GREEN("green color")
String color
Color(String color) {
this.color = color
}
}
和一个域:
class MyDomain {
String name
Color color
static mapping = {
color enumType: "ordinal", sqlType: "tinyint"
}
}
然而,当我试图向数据库中插入新数据时,出现了如下错误
default message [Could not find matching constructor for: Color(java.lang.Integer)]
我知道我没有带整数的构造函数,但我想存储每种颜色的索引以避免重复。如何解决它?有一个带
int
的构造函数。您应该阅读ordinal()
的文档,该文档明确指出,除了预期用途之外,您不应使用它(这不是一个示例)。看起来您的映射可能不正确-look
指的是什么?在我看来,这似乎是过早的优化。使用普通字符串值枚举,不修复未断开的内容拥有一个带int
的构造函数。您应该阅读ordinal()
的文档,该文档明确指出,除了预期用途之外,您不应使用它(这不是一个示例)。看起来您的映射可能不正确-look
指的是什么?在我看来,这似乎是过早的优化。使用普通字符串值枚举,不修复未损坏的内容