Grails 3 enumType для набора перечислений - PullRequest
0 голосов
/ 07 мая 2018

Как определить отображение для Установить с помощью enumType: 'identity' ?

В Grails 3.3 enumType становится обязательным для Перечисления с идентификатором (для 3.2 он работает без каких-либо дополнительных определений).

С полями Enum все работает хорошо, но я не знаю, как написать отображение для набора перечислений

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

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

Есть идеи?

Я знаю, я могу использовать enumType: 'string'. Не дело для меня

1 Ответ

0 голосов
/ 09 мая 2018

В качестве обходного пути вы можете создать объект-оболочку:

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