fix SQLProvider.updateSelective

This commit is contained in:
Timi
2025-11-18 15:10:46 +08:00
parent 08aab8d5a9
commit 17b20f38e6

View File

@ -9,7 +9,6 @@ import com.imyeyu.spring.annotation.table.Column;
import com.imyeyu.spring.annotation.table.Id; import com.imyeyu.spring.annotation.table.Id;
import com.imyeyu.spring.annotation.table.Table; import com.imyeyu.spring.annotation.table.Table;
import com.imyeyu.spring.annotation.table.Transient; import com.imyeyu.spring.annotation.table.Transient;
import com.imyeyu.spring.entity.BaseEntity;
import com.imyeyu.spring.entity.Creatable; import com.imyeyu.spring.entity.Creatable;
import com.imyeyu.spring.entity.Deletable; import com.imyeyu.spring.entity.Deletable;
import com.imyeyu.spring.entity.Destroyable; import com.imyeyu.spring.entity.Destroyable;
@ -211,9 +210,11 @@ public class SQLProvider {
TimiException.required(meta.idFieldColumn, "not found id field in %s".formatted(meta.entityClass)); TimiException.required(meta.idFieldColumn, "not found id field in %s".formatted(meta.entityClass));
TimiException.required(meta.canUpdate, "not allow update for %s".formatted(meta.entityClass)); TimiException.required(meta.canUpdate, "not allow update for %s".formatted(meta.entityClass));
if (entity instanceof BaseEntity baseEntity) { if (entity instanceof Creatable creatable) {
baseEntity.setCreatedAt(null); creatable.setCreatedAt(null);
baseEntity.setDeletedAt(null); }
if (entity instanceof Deletable deletable) {
deletable.setDeletedAt(null);
} }
String setClause = meta.fieldColumnList.stream() String setClause = meta.fieldColumnList.stream()
.filter(fc -> { .filter(fc -> {