从以前的版本升级上来后,运行这个 generator 生成的 entity 注解的先后顺序不统一,会导致git历史出现很多修改。
如图,左侧为 3.5.9 版本生成的 entity(先 @Schema,后 @TableField),右侧为 3.5.10.1 版本生成的(@Schema,@TableField 前后顺序不一致)。
个人认为,此处排序应该
- 方案1:按照注解的首字母排序(例如 @Schema @TableField 按照 s < t 排序)
- 方案2:按照注解名的长度排序(例如 @Schema @TableField 按照 "@Schema".length (6) < "@TableField".length (10) 排序)
从结果来看,似乎当前是按照整行代码的长度进行排序,就导致了@Schema 与 @TableField 两者哪一行短哪行就在前面。
试图阅读了一下源码,找到了这里(但这里似乎是针对entity类名上的注解排序,暂时还没有找到具体entity字段的注解排序的逻辑):
https://github.com/baomidou/mybatis-plus/blame/c9ec9569230b1ed34ab44d992107d8c1b7c588cd/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/Entity.java#L428
Comment From: miemieYaho
根据issue模板重提