What version of Spring Data Neo4j are you running?
Spring Data Neo4j 5 does not provide any other level of abstraction by itself but uses the Neo4j-OGM under the hood (like Spring Data JPA does it with a JPA implementation).
You could opt-in to use the SessionFactory
that you can get injected into your classes. If you need any more information about this, feel free to reach out.
Spring Data Neo4j 6 (the project that was named SDN/RX during WIP) provides three levels of abstraction:
-
Neo4jClient
Not aware of any mapping that was done but you could describe it as a Neo4j Driver on steroids. It participates in ongoing Spring transactions, has a fluent API for manual mapping etc. -
Neo4jTemplate
Uses the metadata from the domain mapping to provide functionality for handling entities. I think this is basically what you are asking for. -
Neo4jRepository
The third and highest level of abstraction.