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
825 stars 619 forks source link

Ensure that internal database ids are accessed via id(n) in nested, derived query methods. [DATAGRAPH-1231] #1792

Closed spring-projects-issues closed 3 years ago

spring-projects-issues commented 5 years ago

Ozgur H opened DATAGRAPH-1231 and commented

When findById() method defined on the repository is used, SDN correctly uses the ID( n ) = \{...} syntax. However, when one tries to access the same logic for a child/field entity, the query is constructed with a format like:

m0.id=\{id_0 }

which of course doesn't work for internal Neo4J ids.

 

If possible, it would be nice to have the framework figure out that the referred object is a graph entity, which requires special ID filtering logic, and creates the query accordingly


Affects: 5.1.8 (Lovelace SR8)

Reference URL: https://docs.spring.io/spring-data/neo4j/docs/5.1.8.RELEASE/reference/html/#repositories.query-methods.query-property-expressions

michael-simons commented 3 years ago

Hello @OzgurH this is a duplicate of https://github.com/spring-projects/spring-data-neo4j/pull/504 and has been fixed in 5.2.x and 5.3.x. I'm gonna back port it to 5.1.x but there are no plans of a 5.1.x right now, as it went EOL October 2020.

Find the EOL announcement here: https://spring.io/blog/2020/10/28/spring-data-neumann-sr5-moore-sr11-and-lovelace-sr21-available-now

I'm also gonna add a test for the nested traversal.

Thank you for your contribution in the first place and of course your patience.