-
Notifications
You must be signed in to change notification settings - Fork 165
Versions
Neo4j-OGM is used in a wide variety of ecosystems, but most specifically inside the wider Spring ecosystem. Neo4j-OGM does the main work for Spring Data Neo4j (SDN), so SDN is dependent on it. At the same time, SDN is also dependent on the Spring Framework. Spring Boot is dependent on both Spring Framework and Spring Data Commons and SDN.
This gives a lot of potential to mix versions that don't work well together or not at all. Hence this overview which combinations we recommend for the Bolt (aka Server) transport mode:
Neo4j-OGM | Spring Data Neo4j | Spring Boot | Neo4j Java Driver | Neo4j |
---|---|---|---|---|
3.2.9 | 5.2.x (Moore) | 2.2.x | >=4.0.0 | 3.5.x, 4.0 |
3.1.x | 5.1.x (Lovelace) | 2.1.x | 1.7.x | 3.4.x |
3.0.x2 | 5.0.x (Kay) | 2.0.x | 1.6.x | 3.3.x |
We offer the neo4j-java-driver-spring-boot-starter. This Spring Boot module offers all the properties of the Java / Bolt driver and exposes an instance of the driver as a bean explicitly, without enforcing OGM onto your application. It is however compatible with OGM.
You might combine the following versions:
neo4j-java-driver-spring-boot-starter | Spring Boot | Neo4j Java Driver | Neo4j-OGM |
---|---|---|---|
4.0.0 | 2.2.x | >=4.0.0 | 3.2.3 |
1.7.5.1 | 2.1.x | 1.7.x | 3.1.x |
The starter offers integration with Spring Boot health for both 1.7.x and 4.0.0 drivers and Micrometer integration for 4.0.0 drivers.
Those are all supported combinations:
Neo4j-OGM | Spring Data Neo4j | Spring Boot | Neo4j Java Driver | Neo4j |
---|---|---|---|---|
3.2.x | 5.2.x (Moore) | 2.2.x | >=4.0.0 | 3.3.x, 3.4.x, 3.5.x, 4.01 |
3.1.x | 5.1.x (Lovelace) | 2.1.x | 1.6.x, 1.7.x | 3.2.x, 3.3.x, 3.4.x, 3.5.x |
3.0.x2 | 5.0.x (Kay) | 2.0.x | 1.5.x, 1.6.x | 3.0.x, 3.1.x, 3.2.x, 3.3.x, 3.4.x |
2.1.x3 | 4.2.x (Ingalls) | 1.5.x | 1.2.3 | 2.3.x4, 3.0.x, 3.1.x |
2.0.x3 | 4.1.x (Hopper) | 1.4.x | 1.0.6 | 2.3.x4, 3.0.x |
- 1 Preliminary
- 2 No longer actively developed.
- 3 No longer actively developed or supported.
- 4 Embedded
Please note that we do test and support actually more combinations, especially of Neo4j-OGM, the Bolt driver and the database itself.
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
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.
Not supported or maintained by us but relevant to our users as well, the general Spring Framework support matrix:
and the corresponding Spring Boot matrix:
https://github.com/spring-projects/spring-boot/wiki/Supported-Versions