Во-первых, вы не должны использовать
private EnumType prop3;
но
private ActualEnum prop3;
Где ActualEnum
- ваш собственный тип перечисления (например, Fruits
для различения яблок и апельсинов).
Во-вторых, ваше отображение hibernate не имеет значения, когда вы используете нативный sql.
Теперь есть пара вариантов, которые я могу предложить. Вы можете попробовать использовать addEntity()
вместо набора скаляров. Возможно, что Hibernate распознает свойство enum и отобразит правильно.
Другой вариант - иметь не общедоступный установщик, который бы брал строку из базы данных, преобразовывал ее в enum и устанавливал фактическое свойство.
Наконец, вы можете настроить трансформатор. Но это, наверное, самый сложный вариант.