Я пытаюсь преобразовать проект grails в игровую рамку. В Grails вы можете определить идентификатор, чтобы идентификатор сохранялся в базе данных (см. Enhanced Enum Support в заметках о выпуске ).
Я видел похожий вопрос , но без приемлемого решения. Если я изменю тип, у CRUD-модуля возникнет проблема, потому что информация, которая должна отображаться в Enum, будет потеряна.
Так что мне интересно, существует ли хорошее решение для игры, основанное на Hibernate. Возможно со взломом JPAPlugin?
[Обновление 1] Я начал пробовать второе решение с @type
-аннотацией. К сожалению это сломалось с Hibernate 3.6 (который используется в игре 1.2.2). TypeFactory.basic()
больше не доступен . Но, следуя документации, я не могу найти обходной путь.
[Обновление 2] Существовало решение для hibernate 3.6.1, но очень неудобно определять тип при каждом использовании enum.
@Type(type="hibernatehelper.GenericEnumUserType",
parameters= {
@Parameter(
name = "enumClass",
value = "models.Geschlecht"),
})
public Geschlecht geschlecht = Geschlecht.WEIBLICH;