У меня есть таблица базы данных с использованием перечисления. Это уже работает с hibernate (с использованием XML), и я пытаюсь преобразовать его в аннотации, поскольку это одна из последних частей, которые все еще используют нотацию xml.MySQL enum with hibernate
Определение столбца:
enum('Active','Pending','Cancelled','Suspend')
следующих работы:
<property
name="status"
column="STATUS"
type="string"
not-null="true" />
Это не работает:
@Column(name = "status")
public String status;
аннотации стиль приводит к следующему исключению при запуске: org.hibernate.HibernateException: неправильный тип столбца в UserDTO для статус столбца. Найдено: enum, expected: varchar (255)
Есть ли какой-либо способ заставить это принять строку, как это было с помощью XML-нотации?
Ваше решение подходит как минимум для базы данных MySQL, но не подходит для баз данных H2, используемых в тестах (например, для автоматического создания схемы). Кажется, что это не на 100% переносимо, насколько я помню, есть проблемы и с PostgresSQL (по крайней мере, если мы ожидаем, что сгенерирована схема). – kornicameister