Тип столбца перечисления в генераторе Mybatis?

#java #enums #mybatis-generator

Вопрос:

Я хотел бы понять, можно ли и как правильно использовать перечисления в генераторе Mybatis.

У меня есть проект на основе Mybatis-Spring, в котором база данных создается с помощью Flywaydb (например, зафиксированные сценарии), а задача mbGenerator Gradle генерирует объекты Java после полной инициализации базы данных.

У меня большой опыт работы с JPA и Hibernate. Когда вы используете JPA , @Enumerated поставщик JPA генерирует столбец либо как порядковый номер (по умолчанию), либо как строку ( EnumType.STRING ).

Но в то время как в JPA/Hibernate вы часто генерируете базу данных из кода, в Mybatis вы генерируете код поверх существующей базы данных (сначала база данных). У меня есть свобода выбора для создания базы данных, содержащей VARCHAR (предполагается, что он равен имени перечисления) или TINYINT (предполагается, что он содержит порядковый номер).

Я хочу спросить, можно ли и как в генераторе Mybatis сопоставить столбец с типом перечисления по моему выбору и с какими ограничениями типа базы данных.

Таким образом, сгенерированный объект будет выглядеть следующим образом

 public class Entity {   private MyEnum enumColumn;  }