@Override
    public EasyLambdaQueryWrapper<T> select(Class<T> entityClass, Predicate<TableFieldInfo> predicate) {
        if (entityClass == null) {
            entityClass = getEntityClass();
        } else {
            setEntityClass(entityClass);
        }
        Assert.notNull(entityClass, "entityClass can not be null");
        this.sqlSelect.setStringValue(TableInfoHelper.getTableInfo(entityClass).chooseSelect(predicate));
        return typedThis;
    }
Filter the field information of the query (except primary key!)
<p>Example 1: As long as the java field name starts with "test" -> select(i -&gt; i.getProperty().startsWith("test"))</p>
<p>Example 2: As long as the java field attribute is of type CharSequence -> select(TableFieldInfo::isCharSequence)</p>
<p>Example 3: As long as the java field does not have a filling strategy -> select(i -&gt; i.getFieldFill() == FieldFill.DEFAULT)</p>
<p>Example 4: Want all fields -> select(i -&gt; true)</p>
<p>Example 5: As long as the primary key field -> select(i -&gt; false)</p>

@param predicate filtering method
@return this
chat2db-server/chat2db-server-tools/chat2db-server-tools-common/src/main/java/ai/chat2db/server/tools/common/model/EasyLambdaQueryWrapper.java