Red Hat

Contribute to Hibernate OGM

Contribute to Hibernate OGM

Hibernate OGM is a young project. The code, the direction and the documentation are all in flux and being built by the community. Join and help us shape it!

How to get help

First of all, make sure to read this reference documentation. This is the most comprehensive formal source of information. Of course, it is not perfect: feel free to come and ask for help, comment or propose improvements in our Hibernate OGM forum.

You can also:

  • open bug reports in JIRA

  • propose improvements on the development mailing list

  • join us on IRC to discuss developments and improvements (#hibernate-dev on; you need to be registered on freenode: the room does not accept "anonymous" users).

How to contribute


There are many ways to contribute:

  • report bugs in JIRA

  • give feedback in the forum, IRC or the development mailing list

  • improve the documentation

  • fix bugs or contribute new features

  • propose and code a datastore dialect for your favorite NoSQL engine

Hibernate OGM’s code is available on GitHub at

How to build Hibernate OGM

Hibernate OGM uses Git and Maven 3, make sure to have both installed on your system.

Clone the git repository from GitHub:

#get the sources
git clone
cd hibernate-ogm

Run maven

#build project
mvn clean install -s settings-example.xml

Note that Hibernate OGM uses artifacts from the Maven repository hosted by JBoss. Make sure to either use the -s settings-example.xml option or adjust your ~/.m2/settings.xml according to the descriptions available on this wiki page.

To build the documentation, set the buildDocs property to true:

mvn clean install -DbuildDocs=true -s settings-example.xml

If you just want to build the documentation only, run it from the hibernate-ogm-documentation/manual subdirectory.

How to contribute code effectively

The best way to share code is to fork the Hibernate OGM repository on GitHub, create a branch and open a pull request when you are ready. Make sure to rebase your pull request on the latest version of the master branch before offering it.

Here are a couple of approaches the team follows:

  • We do small independent commits for each code change. In particular, we do not mix stylistic code changes (import, typos, etc) and new features in the same commit.

  • Commit messages follow this convention: the JIRA issue number, a short commit summary, an empty line, a longer description if needed. Make sure to limit line length to 80 characters, even at this day and age it makes for more readable commit comments.

OGM-123 Summary of commit operation

Optional details on the commit
and a longer description can be
added here.
  • A pull request can contain several commits but should be self contained: include the implementation, its unit tests, its documentation and javadoc changes if needed.

  • All commits are proposed via pull requests and reviewed by another member of the team before being pushed to the reference repository. That’s right, we never commit directly upstream without code review.

back to top