Package org.hibernate.hql.internal.ast

Examples of org.hibernate.hql.internal.ast.HqlParser


  public TypedQueryFactoryGenerator(EntityManager em, NamedQuery namedQuery) {
    this.jpaQuery = Assert.notNull(namedQuery.query());

    try {
      HqlParser parser = HqlParser.getInstance(jpaQuery);
      parser.statement();
      AST hqlAst = parser.getAST();

      if (logger.isDebugEnabled()) {
        logger.debug("First-level parse tree for " + namedQuery.name() + ":");
        parser.showAst(hqlAst, System.out);
      }

      SessionImplementor hibernateSession = em.unwrap(SessionImplementor.class);
      ASTQueryTranslatorFactory translatorFactory = new ASTQueryTranslatorFactory();
      query = (QueryTranslatorImpl) translatorFactory.createQueryTranslator(
View Full Code Here


    if ( replacements == null ) {
      replacements = Collections.emptyMap();
    }

    // PHASE 1 : Parse the HQL into an AST.
    final HqlParser parser = parse( true );

    // PHASE 2 : Analyze the HQL AST, and produce an SQL AST.
    final HqlSqlWalker w = analyze( parser, replacements, collectionRole );

    return w.getSelectClause();
View Full Code Here

    return w;
  }

  private HqlParser parse(boolean filter) throws TokenStreamException, RecognitionException {
    // Parse the query string into an HQL AST.
    final HqlParser parser = HqlParser.getInstance( query );
    parser.setFilter( filter );

    parser.statement();

    final AST hqlAst = parser.getAST();

    final NodeTraverser walker = new NodeTraverser( new JavaConstantConverter() );
    walker.traverseDepthFirst( hqlAst );

    parser.getParseErrorHandler().throwQueryException();
    return parser;
  }
View Full Code Here

TOP

Related Classes of org.hibernate.hql.internal.ast.HqlParser

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.