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
指的是什么?在我看来,这似乎是过早的优化。使用普通字符串值枚举,不修复未损坏的内容