Классы предметной области в Java могут содержать поля перечисляемых типов (enum’ы) и данные этих полей, разумеется должны сохранятся в БД и восстанавливаться из БД. В силу естественных ограничений в БД может быть сохранено либо числовое значение enum’а, соответствующее его порядку, либо его строковое значение. Отвечает за это аннотация @Enumerated.
Читать далее