docs: public static String whereAllIfColumns(Class<?> entityClass, boolean empty, boolean useVersion) {
          StringBuilder sql = new StringBuilder();
          boolean hasLogicDelete = false;
  
          sql.append("<where>");
          //获取全部列
          Set<EntityColumn> columnSet = EntityHelper.getColumns(entityClass);
          EntityColumn logicDeleteColumn = SqlHelper.getLogicDeleteColumn(entityClass);
          //当某个列有主键策略时，不需要考虑他的属性是否为空，因为如果为空，一定会根据主键策略给他生成一个值
          for (EntityColumn column : columnSet) {
              if (!useVersion || !column.getEntityField().isAnnotationPresent(Version.class)) {
                  // 逻辑删除，后面拼接逻辑删除字段的未删除条件
                  if (logicDeleteColumn != null && logicDeleteColumn == column) {
                      hasLogicDelete = true;
                      continue;
                  }
                  sql.append(getIfNotNull(column, " AND " + column.getColumnEqualsHolder(), empty));
              }
          }
          if (useVersion) {
              sql.append(whereVersion(entityClass));
          }
          if (hasLogicDelete) {
              sql.append(whereLogicDelete(entityClass, false));
          }
  
          sql.append("</where>");
          return sql.toString();
      }