-
Notifications
You must be signed in to change notification settings - Fork 165
Versions
See also docs for more details.
Neo4j-OGM | Status | Only Bolt support | Minimum required Java driver | Maximum required Java driver | Neo4j |
---|---|---|---|---|---|
4.0 | supported | true | 5.0.0 | 5.26.3 | [4.3, 4.4, 5.x] |
3.3 | bugfix | false | 4.4.0 | 4.4.18 | [3.5, 4.0, 4.1, 4.2, 4.3, 4.4, 5.x] |
3.2 | bugfix | false | 4.0.0 | 4.4.18 | [3.5, 3.5, 4.0, 4.0, 4.1, 4.2, 4.3, 4.4, 5.x] |
3.1 | unsupported | false | 1.6.0 | 1.7.6 | [3.2, 3.3, 3.3, 3.4, 3.4, 3.5] |
3.0 | unsupported | false | 1.5.0 | 1.6.4 | [3.0, 3.1, 3.2, 3.2, 3.3, 3.3, 3.4] |
2.1 | unsupported | false | 1.2.0 | 1.2.3 | [3.0, 3.1] |
2.0 | unsupported | false | 1.0.0 | 1.0.6 | [3.0] |
Neo4j-OGM 3.2.x and 3.3.x run on JDK 8, 11 and 17. Neo4j-OGM 4.x requires JDK 17 as the Bolt Driver for Java from Neo4j requires JDK 17, too.
OGM 3.2.x is API compatible with Spring Data Neo4j 5.1 (Lovelace) and can serve as a drop in by setting <neo4j-ogm.version>3.2.x</version.properties>
in the build description of your Spring Boot application
The neo4j-java-driver-spring-boot-starter is superseded by the automatic configuration in Spring Boot 2.4. Spring Boot 2.4 includes the same means of configuring a standalone Neo4j Driver instance, including the same health checks.
Neo4j-OGM does the main work for Spring Data Neo4j (SDN) up to and including version 5.3. Since version 6.0 of SDN there is no dependency to Neo4j-OGM anymore, SDN 6 and higher is a different product than SDN <= 5.3
We offer an official, supported fork or branch of SDN 5.3, neo4j-ogm-spring that you can use to use Neo4j-OGM and Spring Data 5 within modern versions of Spring Boot: It uses the latest Neo4j-OGM 4.0.x, based on the 4.4 Neo4j-Java-Driver and thus is compatible with Neo4j 5.x.
IMPORTANT: Starting Neo4j embedded from OGM and using embedded API is only supported up and including to Neo4j 3.5. If you need an embedded 4.0 database in your application, create it as a standard bean and open up a local bolt socket connection using our Neo4j Java Driver against it.
Neo4j-OGM offers the embedded mode and starts an embedded instance for you. This is comfortable during development and also in deployment. But bare in mind that you bind yourself with the database version very closely not only to your Object graph mapping framework, but also to your application framework. For example, if you started a Spring Boot application based on OGM embedded 2.1.x and database 3.1, you cannot simply exchange the database dependencies or OGM dependencies to go to something higher than database 3.1, as the mentioned components are inter dependend.
If you really want to run an embedded database in production, you should consider providing the database bean yourself and explicitly open the embedded databases bolt port and use the OGM bolt transport.