It's my great pleasure to announce the release of Hibernate OGM 4.1.0.Beta3. This release is focused on an improved experience when working with the Neo4j graph datastore and several improvements in the field of querying (the complete change log can be found here).

As always, you can either download a release bundle from SourceForge or retrieve the JARs from the JBoss Nexus repository server using Maven, Gradle etc. The GAV coordinates are:

  • org.hibernate.ogm:hibernate-ogm-core:4.1.0.Beta3 for the Hibernate OGM engine and
  • org.hibernate.ogm:hibernate-ogm-<datastore>:4.1.0.Beta3, depending on the backend you want to use.

Improved support for Neo4j

We now take advantage of labels - a new feature of Neo4J 2.x - to map entities in a more natural way. We use these labels to tag all the nodes belonging to one entity type. This does not only remove the need to put additional properties to the nodes but also will allow us to query for all the nodes of one entity type in an efficient manner.

We also support the execution of native Cypher queries now. You can either create them ad-hoc via EntityManager#createNativeQuery() or using the @NamedNativeQuery annotation on your entities:

    name = "AnimalsBySpecies",
    query = "MATCH ( n: Animal { species: {species} } ) RETURN n",
    resultClass = Animal.class 
public class Animal { ... }
EntityManager em = ...
List<Animal> giraffes = em.createNamedQuery( "AnimalsBySpecies", Animal.class )
    .setParameter( "species", "Giraffe" )

As you can see in the example, native queries for Neo4j also support named parameters via the native Cypher parameter syntax.

The work on the Neo4j dialect is in full swing these days and you can expect to see further improvements in this field in the Beta4 release.

Query improvements

When working with queries you can now make use of setFirstResult() and setMaxResults() to page through a result set. This works for JP-QL as well as native MongoDB queries:

EntityManager em = ...;
List<Animal> giraffes = em.createQuery( "FROM Animal WHERE species = 'Giraffe'" )
    .setFirstResult( 51 )
    .setMaxResults( 100 )

Furthermore there is support for ORDER BY clauses in JP-QL queries now:

List<Animal> giraffes = em.createQuery( "FROM Animal WHERE species = 'Giraffe' ORDER BY name DESC" )

These two things together should be of great help when using Hibernate OGM to implement typical CRUD use cases (create, read, update, delete) on top of your NoSQL store.

What's next?

For Beta4 we plan to translate JP-QL queries into native Cypher queries for the Neo4j backend. We also got some ideas for performance improvements and will take a look into a more natural mapping of assocations to Neo4j relationships.

The MongoDB dialect should see some improvements around querying as well and we plan on investigating an error report and compensation API. This will offer the ability to collect errors on partially executed units of work on stores without full transactional semantics and the ability to react to these errors.

Needless to say, your feedback matters very much to us. So you're very welcome to raise your voice on the mailing list, ask questions in the forum or report any bugs or feature requests in the issue tracker.

04. Jun 2014, 20:26 CET | Link
hibernate ogm neo4j module currently on sourceforge has invalid module.xml to fix this issue:


change <resource-root path="parboiled-java-1.1.6" /> to this: <resource-root path="parboiled-java-1.1.6.jar" />
20. Jun 2014, 15:45 CET | Link

Thanks for the report; This will be fixed by OGM-553 scheduled for the next Beta.

23. Jun 2014, 09:09 CET | Link

I like this web site extremely much, Its a truly nice post to read and get information . Its superb as your other posts : D, regards for posting .

free itunes duplicate remover

25. Jun 2014, 21:18 CET | Link
Computers themselves, and software yet to be developed, will revolutionize the way we learn.
<a href="">Werkblad</a>
26. Jun 2014, 08:21 CET | Link
angelina jullie | angelinajullie786(AT)
That's an outstanding news, I suggest all of you to try this Hibernate OGM Latest version.

[Jack Walker=>]

23. Jul 2014, 12:35 CET | Link

Thanks for sharing this great article,i try this Hibernate OGM 4.1.0.Beta3.

24. Jul 2014, 10:47 CET | Link

A tote handbag is women's best friend. It is an accessory that some women cannot live without once they get out to work or take a party and so on. Therefore, here are the chanel outlet online health tote bags for women that you might like to carry with.

Another thing that you should look is the objective of these designer accessories. For example, the fashionable and welcomed chanel outlet adopt double C as special label. When you find yourself interested overall of branded handbags, the actual real and unique mark ought to be needed thing.

One of the most basic signs to make note of whether the bag is really a replica or not, is to check if your Chanel logo is a CC or GG. Embrace Chanel logo is associated with ralph lauren outlet CC intertwined with each other, in classic silver or gold hardware, whose polish doesn't come off so quite readily. So if at any point of time, you see an issue with the logo designed wrongly, and sense that the polish is dull or is resulting out, an individual should know that it is not an original bag.

Just with this chanel butterfly earrings, it seems very superb with diamond shinning on its entire body.and it is gold plated all over-the-counter earrings in which it superb enough. The butterfly design is the most important point why my friend love this.she said:when i wear this pair, I genuinely feel it improve my louis vuitton replica apparance and give me extra a belief.But she always ask me in order to buy the chanel replica jewels.coz, she isn't satisfied to own one associated with them.But to honest,it is really expensive invest in the chanel earrings as well as other chanel jewelry in the chanel official site.

Post Comment