我想了解是否以及如何在 Mybatis Generator 中正确使用枚举。
我有一个基于 Mybatis-Spring 的项目,其中数据库是通过 Flywaydb 生成的(例如,提交的脚本),mbGenerator
Gradle 任务在数据库完全初始化后生成 Java 实体。
我对 JPA 和 Hibernate 有丰富的经验。在您使用 JPA 时@Enumerated
,JPA 提供程序将列生成为序数(默认)或字符串 ( EnumType.STRING
)。
但是在使用 JPA/Hibernate 时,您通常会从代码生成数据库,而使用 Mybatis,您会在现有数据库上生成代码(数据库优先)。我可以选择生成包含 VARCHAR(假定等于枚举名称)或 TINYINT(假定包含序数)的数据库。
我想问一下在 Mybatis Generator 中是否以及如何将列映射到我选择的枚举类型上,以及映射到什么数据库类型约束。
所以生成的实体会像
public class Entity {
private MyEnum enumColumn;
}