// Validate the JPQL query, which will use the JPQL grammar matching the validation level
validate(queryContext, jpqlExpression);
// Create the DatabaseQuery by visiting the parsed tree
DatabaseQueryVisitor visitor = new DatabaseQueryVisitor(queryContext, jpqlQuery);
jpqlExpression.accept(visitor);
// Add the input parameter types to the DatabaseQuery
if (query == null) {
query = queryContext.getDatabaseQuery();
addArguments(queryContext, query);