public function getQueryBuilder(ColumnCollection $columns, DataSetRequestInterface $request) : QueryBuilder
{
$this->conditions = $this->getConditions($request);
$queryBuilder = $this->repository->getDataSetQueryBuilder();
$queryBuilder->select($columns->getSelectClause());
$queryBuilder->addOrderBy($this->getOrderByExpression($request, $columns));
$queryBuilder->setFirstResult($request->getOffset());
$this->setColumnConditions($queryBuilder, $columns);
if ($request->getLimit() > 0) {
$queryBuilder->setMaxResults($request->getLimit());
}
return $queryBuilder;
}