浏览代码

MysqlDialect 新增支持 modifyFlag

James 3 年之前
父节点
当前提交
4fa6f52596
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/main/java/com/jfinal/plugin/activerecord/dialect/MysqlDialect.java

+ 5 - 1
src/main/java/com/jfinal/plugin/activerecord/dialect/MysqlDialect.java

@@ -20,6 +20,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
+import com.jfinal.plugin.activerecord.CPI;
 import com.jfinal.plugin.activerecord.Record;
 import com.jfinal.plugin.activerecord.Record;
 import com.jfinal.plugin.activerecord.Table;
 import com.jfinal.plugin.activerecord.Table;
 
 
@@ -177,10 +178,13 @@ public class MysqlDialect extends Dialect {
 		tableName = tableName.trim();
 		tableName = tableName.trim();
 		trimPrimaryKeys(pKeys);
 		trimPrimaryKeys(pKeys);
 		
 		
+		// Record 新增支持 modifyFlag
+		Set<String> modifyFlag = CPI.getModifyFlag(record);
+		
 		sql.append("update `").append(tableName).append("` set ");
 		sql.append("update `").append(tableName).append("` set ");
 		for (Entry<String, Object> e: record.getColumns().entrySet()) {
 		for (Entry<String, Object> e: record.getColumns().entrySet()) {
 			String colName = e.getKey();
 			String colName = e.getKey();
-			if (!isPrimaryKey(colName, pKeys)) {
+			if (modifyFlag.contains(colName) && !isPrimaryKey(colName, pKeys)) {
 				if (paras.size() > 0) {
 				if (paras.size() > 0) {
 					sql.append(", ");
 					sql.append(", ");
 				}
 				}