JPQLParseTree parseTree = JPQLParser.buildParseTree(jpql);
parseTree.setClassLoader(session.getLoader());
DatabaseQuery databaseQuery = parseTree.createDatabaseQuery();
databaseQuery.setJPQLString(jpql);
parseTree.populateQuery(databaseQuery, (AbstractSession) session);
parseTree.addParametersToQuery(databaseQuery);
// Store the arguments and their types.
if (databaseQuery.hasArguments()) {
additionalCriteriaArguments = new HashMap<String, Class>();