Frequently Asked Questions (FAQ)

  1. What is the difference between Neo4j-OGM and Spring Data Neo4j (SDN)?

    Spring Data Neo4j (SDN) up to version 5.3.x uses Neo4j-OGM under the covers. It’s like Spring Data JPA, where JPA/Hibernate is the underlay. Most of the power of SDN actually comes from Neo4j-OGM. Starting with Spring Data Neo4j 6.x (Spring Boot 2.4) does not need Neo4j-OGM anymore. Please note that, intentionally, Neo4j-OGM 4+ does not work as a drop-in replacement for Spring Data 5.x.

  2. How are labels generated when using inheritance?

    All concrete classes generate a label, abstract classes and interfaces not. If any kind of class or interface gets annotated with @NodeEntity or @NodeEntity(label="customLabel") it will generate a label. Any class annotated with @Transient will not generate a label.