关于如何在 Grails 中保存枚举集合有什么想法吗?
Groovy 枚举:
public enum MyEnum {
AAA('Aaa'),
BEE('Bee'),
CEE('Cee')
String description
MyEnum(String description) {
this.description = description
}
static belongsTo = [tester:Tester]
}
我想在 Grails 域类中使用此枚举。域类如下所示:
class Tester {
static hasMany = [myenums: MyEnum]
static constraints = {
}
}
在我的 create.jsp 中,我希望能够选择多个 MyEnum 并具有以下行:
<g:select from="${MyEnum?.values()}" multiple="multiple" value="${testerInstance?.myenums}" name="myenums" ></g:select>`
我遇到的问题是,当我尝试创建新的测试器时,我收到 500 错误:
Exception Message: java.lang.String cannot be cast to java.lang.Enum
Caused by: java.lang.String cannot be cast to java.lang.Enum
Class: TesterController
最佳答案
因此,简单的解决方法是将域类更改为不使用 myenums 变量的 MyEnum 枚举类型。相反,我将其更改为字符串,一切都开始工作。
class Tester {
static hasMany = [myenums:String]
static constraints = {
}
}
经过进一步思考,我真的没有必要坚持枚举类型。我只想保存该类型的值。
关于hibernate - 如何在 Grails 中持久保存枚举集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330051/