Hibernate Query Parser
Experimental new parser for HQL and JP-QL queries, to convert these into SQL and other different targets such as Lucene queries, Map/Reduce queries for NoSQL stores, make it possible to perform more sophisticated SQL transformations.
Help
There is much to do and many tests to be ported from the existing parser or added from scratch; anyone is welcome to help by sending pull requests, commenting the code on github directly or by by using the mailing list or IRC chat channels:
- Mailing list
- irc://irc.freenode.net/#hibernate
Bug Reports:
- Hibernate JIRA (preferred)
- Mailing list
Building
This project used Gradle as build tool. To build the complete project, run the following command from the directory containing this README file:
./gradlew clean build
You don't need to have Gradle installed; When executed for the first time, gradlew (the "Gradle wrapper") will download Gradle in the required version.
In order to install the JARs created by this project into your local Maven repository, run the following command:
./gradlew clean install
To deploy the modules to the JBoss Maven repository, run:
./gradlew clean publish
Depending on the version of the project (as given via ext.projectVersion
) this will perform a deployment either into the JBoss snapshot repository or the JBoss release staging repository (both requires your Nexus credentials to be configured in ~/.m2/settings.xml).
Releasing
Perform the following steps to do a release of this project:
- delete any stale files and directories from your working copy:
git clean -d -x -f
- verify that everything builds as expected:
./gradlew clean build
- set project version in build.gradle (property ext.projectVersion) to the release version, e.g. "1.0.0.Alpha3" and commit
- tag the release in Git:
git tag -a 1.0.0.Alpha3 -m 'my version 1.0.0.Alpha3'
- perform the release:
./gradlew clean publish
- examine the staged release on the JBoss Nexus server; either close and release or drop the staging repository
- set project version in build.gradle to the next development version, e.g. "1.0.0-SNAPSHOT" and commit
- push the
master
branches and the new tag to the upstream repo - release the version in JIRA and transition all involved issues to "Closed"
Source and credits
The grammar and parser code is based on the antlr3 branch previously developed for Hibernate 3; the original code by Steve Ebersole and Alexandre Porcelli can be found on the archived Hibernate subversion repository.
License
This software and its documentation are distributed under the terms of the FSF Lesser GNU Public License (see license.txt).