从以前的版本升级上来后,运行这个 generator 生成的 entity 注解的先后顺序不统一,会导致git历史出现很多修改。

如图,左侧为 3.5.9 版本生成的 entity(先 @Schema,后 @TableField),右侧为 3.5.10.1 版本生成的(@Schema,@TableField 前后顺序不一致)。

Image

个人认为,此处排序应该 - 方案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模板重提