@Override
    public NativeQuerySpec<Record> select(String sql, Object... args) {
        return new NativeQuerySpecImpl<>(this, sql, args, DefaultRecord::new, false);
    }
@Test
    public void test() {

        database.dml()
                .insert("s_test_event")
                .value("id", "helper_test")
                .value("name", "main")
                .value("age", 10)
                .execute()
                .sync();

        database.dml()
                .insert("s_test")
                .value("id", "helper_test")
                .value("name", "main")
                .value("testName", "testName")
                .value("age", 10)
                .execute()
                .sync();

        DefaultQueryHelper helper = new DefaultQueryHelper(database);

        helper.select(TestInfo.class)
              .all(EventTestEntity.class, TestInfo::setEventList)
//              .all("e2", TestInfo::setEvent)
              .all(TestEntity.class)
              .from(TestEntity.class)
              .leftJoin(EventTestEntity.class,
                        join -> join
                            .alias("e1")
                            .is(EventTestEntity::getId, TestEntity::getId)
//                                .is(EventTestEntity::getName, TestEntity::getId)
                            .notNull(EventTestEntity::getAge))
//              .leftJoin(EventTestEntity.class,
//                        join -> join
//                                .alias("e2")
//                                .is(EventTestEntity::getId, TestEntity::getId))

//              .where(dsl -> dsl.is(EventTestEntity::getName, "Ename")
//                               .is("e1.name", "Ename")
//                               .orNest()
//                               .is(TestEntity::getName, "main")
//                               .is("e1.name", "Ename")
//                               .end()
//              )
              .orderByAsc(TestEntity::getAge)
              .orderByDesc(EventTestEntity::getAge)
              .fetchPaged(0, 10)
              .doOnNext(info -> System.out.println(JSON.toJSONString(info, SerializerFeature.PrettyFormat)))
              .as(StepVerifier::create)
              .expectNextCount(1)
              .verifyComplete();

    }