逻辑删除标识符的理解
Gowther opened this issue · 5 comments
Gowther commented
不知道logicalDeleteValue/logicalUnDeleteValue和生成的常量DEL_FLAG_ON/OFF是一个怎样的对应关系呢?按照我的理解DEL_FLAG_ON是说明删除标识符被置为true,DEL_FLAG_OFF说明删除标识符被置为false,但是实际上生成的与我理解的正好相反,您是怎样理解这个删除常量的呢?
配置:
<property name="logicalDeleteColumn" value="is_deleted"/>
<!-- 逻辑删除-已删除值 -->
<property name="logicalDeleteValue" value="1"/>
<!-- 逻辑删除-未删除值 -->
<property name="logicalUnDeleteValue" value="0"/>
实际生成:
public static final Boolean DEL_FLAG_ON = false;
public static final Boolean DEL_FLAG_OFF = true;
itfsw commented
logicalDeleteValue/logicalUnDeleteValue 分别对应 DEL_FLAG_OFF/DEL_FLAG_ON,这个是之前一些遗留项目作怪定下来的。按当时他们说法DEL_FLAG做开关,ON就是没删除OFF就是删除~~~~~,所以在写这个插件时为了兼顾这些所以就延续了这种说法,也是一时没想到更好的命名。
Gowther commented
谢谢解答。我个人认为这个变量名有点反直觉,希望以后可以有一个更合适的命名~
swellwu commented
一般的规范此列名为is_deleted,建议取名为 IS_DELETED/NOT_DELETED
yangjson commented
关于唯一索引,有时候会把isdeleted字段设置加进唯一索引组合里面,所以删除字段我会改成 is_delete+1,但是在生成实体类的时候会报错,有点不方便,希望作者可以改进一下