Нет встроенной поддержки enum AFAIK, но, возможно, вы можете попробовать это как обходной путь (я никогда не проверял это, подумал):
@Entity
public class User extends Model {
public enum Role {
User,
Moderator,
Admin,
}
@Enumerated(EnumType.STRING)
@Column(columnDefinition = "ENUM('User', 'Moderator', 'Admin')")
public Role role;
}
Вы можете использовать EnumType.STRING который будет хранить значение как String в базе данных.
Но для использования собственного ENUM требуется, чтобы вы определили columnDefinition с помощью аннотации @ Column , которая требует, чтобы все ваши роли были там прописаны, понимаете?Дублирование здесь.