Closed dadrus closed 6 years ago
Neo4J implements two modes of communication with it:
If JPA-Unit should remain (binary) independent from any JPA provider implementation, option 1 cannot be used for test purposes: Neo4J does not allow opening multiple driver connections to the embedded DB.
Option 2 can be implemented either using
The first attempt using neo4j-java-driver and Hibernate OGM unfortunately resulted in OGM-1303 with the test domain model used by JPA-Unit integration tests.
Switching from noe4j-java-driver to neo4j-jdbc-driver made it possible to easily switch from bolt to http for communication purposes with the DB. Unfortunately, there is an error on Hibernate OGM side (given the used domain model) as well. See OGM-1305 for details.
Since we ran out of options (Kundera and DataNucleus do not support remote protocols and with Hibernate OGM there are the aforementioned issues), the implementation of this feature is blocked
The aforementioned issue relates to transaction mamagement only. By reorganizig the project structure, no blocking dependency is given any more
Implement an extension to JPA-Unit which supports all the JPA-Unit tools with Neo4J.
The idea is to be able to use JPA providers, which support NoSQL databases, thus to be able to reuse (to a certain extent) existing code and test implementation when switching between different data base types or when using different types of data bases (polyglot persistence) in one project.