枚举枚举的{3个枚举类型

时间:2018-05-07 09:30:37

标签: grails gorm grails-3.3

如何使用 enumType定义设置的映射:'标识'

在Grails 3.3中,enumType成为Enums with id的必填项(对于3.2,它没有任何其他定义)。

使用Enum字段一切正常,但我不知道如何为枚举集编写映射

class Test {
   Set<TestEnum> enums
   static mapping {
     enums  enumType: 'identity' // not works 
   }
}

enum TestEnum {
   final int id
   TestEnum(int value){
   ...
   }
}

有什么想法吗?

我知道,我可以使用enumType:&#39; string&#39;。不是我的案例

1 个答案:

答案 0 :(得分:1)

作为一种解决方法,您可以创建一个包装器实体:

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){
    ...
    }
}