spring-projects / spring-data-neo4j

Provide support to increase developer productivity in Java when using Neo4j. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
http://spring.io/projects/spring-data-neo4j
Apache License 2.0
822 stars 620 forks source link

Missing relationship with projection (7.x.x) #2923

Closed Marc-AntoineGL closed 1 month ago

Marc-AntoineGL commented 1 month ago

Hello

Monthes ago I raised a problem concerning projections depth issues when dealing with some inheritance.

Here is the issue link https://github.com/spring-projects/spring-data-neo4j/issues/2819

At that time I was using Spring 2 and the 6.3.14-GH-2819-SNAPSHOT made was working like a charm afterwards.

But today we upgraded to Spring 3 and either 7.1.x or 7.2.x versions (7.3.x also tried without success) from SDN are causing again the same trouble when it comes to load relationships with a certain depth for children classes projections (Replacing projection from relationship to the actual Node class solve the problem so it's a projection issue again...).

I didn't investigate as far as I did for the last issue I opened, but could you maybe confirm that the changes bring to this 6.3.14-GH-2819-SNAPSHOT I was using are reported into these 7.x.x versions ?

Marc-AntoineGL commented 1 month ago

Ok I found out what was the exact problem, I was stuck using "org.springframework.data:spring-data-neo4j:jar:7.1.5" which doesn't have the correction.

Actually, whichever version of "org.springframework.boot:spring-boot-starter-data-neo4j" I'm using, even if I have a clean local repository, maven is still fetching the "org.springframework.data:spring-data-neo4j:jar:7.1.5".

Do you guys know why this version 7.1.5 is fetched by default by spring-boot-starter-data-neo4j:3.x.x even if the ".m2\repository\org\springframework\boot\spring-boot-starter-data-neo4j\3.3.1\spring-boot-starter-data-neo4j-3.3.1.pom" is requesting this:

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-neo4j</artifactId>
  <version>7.3.1</version>
  <scope>compile</scope>
</dependency>

I took the 3.3.1 as example but the case is the same for version later than 3.1.5.

meistermeier commented 1 month ago

I don't have any idea why this could happen. If you can reproduce the scenario, it might be helpful to have a look at your mvn dependency:tree output to see what pulls the 7.1.5 version.

Basically (if nothing changes in the future) you can align the minor versions between Spring Boot versions and Spring Data Neo4j versions: Spring Boot 3.1.x -> SDN 7.1.x Spring Boot 3.2.x -> SDN 7.2.x Spring Boot 3.3.x -> SDN 7.3.x The fix from the previous issue is, as you already figured out, only available in 7.3.x.

Marc-AntoineGL commented 1 month ago

Ok I tried on a brand new projet and indeed this problem doesn't occur anymore. I guess I'm just having some cache hidden somewhere on my project.

Sorry for time lost here, I'm closing it to avoid more loss. Thanks anyway ! 🙏