code: public <T> List<T> search(org.beangle.commons.dao.query.Query<T> query) {
      if (query instanceof LimitQuery) {
        org.beangle.commons.dao.query.LimitQuery<T> limitQuery = (org.beangle.commons.dao.query.LimitQuery<T>) query;
        if (null == limitQuery.getLimit()) {
          return QuerySupport.find(limitQuery, getSession());
        } else {
          return new SinglePage<T>(limitQuery.getLimit().getPageIndex(), limitQuery.getLimit().getPageSize(),
              QuerySupport.count(limitQuery, getSession()), QuerySupport.find(query, getSession()));
        }
      } else {
        return QuerySupport.find(query, getSession());
      }
    }
docs: 依据自构造的查询语句进行查询
  
  @see #buildCountQueryStr(Query)
  @see org.beangle.commons.collection.page.Page