mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 01:28:24 +08:00
增强: Entity 数据在被插入时,会自动设置逻辑删除的默认值
This commit is contained in:
parent
a4d018b86f
commit
19bf420627
@ -58,9 +58,12 @@ public class EntitySqlProvider {
|
||||
|
||||
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
||||
|
||||
//设置乐观锁版本字段的初始化
|
||||
//设置乐观锁版本字段的初始化数据
|
||||
tableInfo.initVersionValueIfNecessary(entity);
|
||||
|
||||
//设置逻辑删除字段的出初始化数据
|
||||
tableInfo.initLogicDeleteValueIfNecessary(entity);
|
||||
|
||||
Object[] values = tableInfo.obtainInsertValues(entity);
|
||||
ProviderUtil.setSqlArgs(params, values);
|
||||
|
||||
@ -86,6 +89,7 @@ public class EntitySqlProvider {
|
||||
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
||||
for (Object entity : entities) {
|
||||
tableInfo.initVersionValueIfNecessary(entity);
|
||||
tableInfo.initLogicDeleteValueIfNecessary(entity);
|
||||
}
|
||||
|
||||
Object[] values = new Object[0];
|
||||
|
||||
@ -505,4 +505,21 @@ public class TableInfo {
|
||||
metaObject.setValue(columnPropertyMapping.get(versionColumn), 0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化逻辑删除的默认值
|
||||
*
|
||||
* @param entityObject
|
||||
*/
|
||||
public void initLogicDeleteValueIfNecessary(Object entityObject) {
|
||||
if (StringUtil.isBlank(logicDeleteColumn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
MetaObject metaObject = EntityMetaObject.forObject(entityObject, reflectorFactory);
|
||||
Object columnValue = getColumnValue(entityObject, logicDeleteColumn);
|
||||
if (columnValue == null) {
|
||||
metaObject.setValue(columnPropertyMapping.get(logicDeleteColumn), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user