Packages 
Package Description
org.eclipse.persistence.jpa.jpql
This package contains the Hermes features (except the parser itself): semantic and grammatical validations, content assist support, calculating the query result type or the possible type of an input parameter, refactoring tools.
org.eclipse.persistence.jpa.jpql.parser
This is the core of Hermes, this package contains the classes that can parse a JPQL query.
org.eclipse.persistence.jpa.jpql.tools  
org.eclipse.persistence.jpa.jpql.tools.model
The classes defined in this package define the state model API, a state model can be used to manually or programmatically create and edit a JPQL query.
org.eclipse.persistence.jpa.jpql.tools.model.query
This package contains the StateObject classes that represents a JPQL query.
org.eclipse.persistence.jpa.jpql.tools.resolver  
org.eclipse.persistence.jpa.jpql.tools.spi
The Hermes SPI defines how the parser and its related features can retrieve information about the JPA managed types from the application.
org.eclipse.persistence.jpa.jpql.tools.utility  
org.eclipse.persistence.jpa.jpql.tools.utility.filter  
org.eclipse.persistence.jpa.jpql.tools.utility.iterable  
org.eclipse.persistence.jpa.jpql.tools.utility.iterator  
org.eclipse.persistence.jpa.jpql.utility
Contains utility classes used by Hermes.
org.eclipse.persistence.jpa.jpql.utility.filter  
org.eclipse.persistence.jpa.jpql.utility.iterable  
org.eclipse.persistence.jpa.jpql.utility.iterator