У меня проблема с отображением значения Enum.
В моем Bonus.class у меня есть свойство enum Type с классом enum BonusType.
Вот как я определяю свой класс enum (просто определение enum, методы и конструкторы не копируются):
public enum EavType
{
WORLDWIDE ("WORLDWIDE"),
SIMPLE ("SIMPLE"),
NOTVALID ("0");
}
Пока все хорошо. Поскольку я получаю бонусный элемент типа "WORLDWIDE" или "SIMPLE" из БД, проблем не возникает, но когда я получаю бонус для базы данных с типом = 0, я получаю ошибку:
Exception: java.lang.IllegalArgumentException: Unknown name value [0] for enum class [com.bosch.gam.commons.bo.remuneration.BonusType]
Проблема в том, что я не могу установить способ сохранения типа NOTVALID, данные, которые я получаю из базы данных, создаются из другого интерфейса, и они просто сохраняют его как 0. Я также должен уточнить, что столбец Тип в таблице Бонус VARCHAR2.
Теперь мой вопрос: интерпретирует ли Hibernate 0 как число? Как я могу это исправить?