如何为定义映射将设置为 enumType:'identity'?
在Grails 3.3中,enumType成为Enums with id的必需项(对于3.2,它无需任何其他定义即可工作)。
使用枚举字段,一切工作正常,但我不知道如何为枚举集编写映射
class Test {
Set<TestEnum> enums
static mapping {
enums enumType: 'identity' // not works
}
}
enum TestEnum {
final int id
TestEnum(int value){
...
}
}
有任何想法吗?
我知道,我可以使用enumType:'string'。对我来说不是这样
最佳答案
解决方法是,您可以创建包装器实体:
class EnumWrapper {
TestEnum testEnum
static mapping {
testEnum enumType: 'identity'
}
static belongsTo = [test: Test]
}
class Test {
static hasMany = [enumWrappers: EnumWrapper]
}
enum TestEnum {
final int id
TestEnum(int value){
...
}
}