code: public Query<T> build() {
      QueryBean<T> queryBean = new QueryBean<T>();
      queryBean.setStatement(genStatement());
      queryBean.setParams(getParams());
      if (null != limit) {
        queryBean.setLimit(new PageLimit(limit.getPageIndex(), limit.getPageSize()));
      }
      queryBean.setCountStatement(genCountStatement());
      queryBean.setCacheable(cacheable);
      queryBean.setLang(getLang());
      return queryBean;
    }
docs: <p>
  build.
  </p>
  
  @return a {@link org.beangle.commons.dao.query.Query} object.