Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue/2640 #2644

Closed
wants to merge 150 commits into from
Closed

issue/2640 #2644

wants to merge 150 commits into from

Conversation

michael-simons
Copy link
Collaborator

  • You have read the Spring Data Neo4j contribution guidelines.
  • You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).

michael-simons and others added 30 commits January 14, 2022 07:56
The changes defers the decomposition of the property into single values as late as possible, so that property filter can be left unchanged but now works on the actual attribute names.

This fixes #2451.
Domain attributes can be renamed using the `@Property` annotation when
being mapped to and read from graph properties. That renaming must also
happening when using projections. As with #2451 in
582fd7d this is kind of a problem with
the existing filter mechanism that works after the stack has dealt with
the actual properties.

After all properties and paths are computed, they will be translated as
late as possible before checked for inclusions:

- When writing just before it is checked whether to add them to the
  properties parameter or not
- When reading after they have been map-projected from the database into
  the result set but before they are checked for inclusions.

Also addressed here is the a workaround for writes: In case a user had
an interface based projection and used the graph property name as
accessor, a write would succeed, however a read would fail. A property
accessor has now been registered with the default projection factory
that translates a failure to access an entity property (attribute) once.

This fixes #2371.
Extract Docker and Artifactory credentials into properties file.

See #2471
This is necessary so that all properties are actually filled before the entity is passed to the persister.

Fixes #2475
Use a version that works with Java 17.

See #2482
meistermeier and others added 27 commits September 26, 2022 12:03
Misses dynamic relationships right now.

Closes #2600
In case another matching node description is found, the value of the `mostMatchingStaticLabels` must be updated.

Fixes #2619.
Also allow the use of composite values in derived findBy… methods.

Closes #2618.
We can support many more usecases of "I want to have a lightweight mapping tool" for DTOs by just
restricting the cases in which a `NoRootNodeMappingException` is thrown.

The idea is as follows: If the `DefaultNeo4jEntityConverter` does not deal with a synthesized
record comming from `AggregatingMappingFunction` it uses the the root map as base for mapping
if the root record is already a map value. If that is not the case and the root record does
not contain any paths that maybe aggregated later one, we synthesize a map one single time
and evaluate that for being mappable.

Closes #2633.
Closes #2632 for 6.3 with the fixed driver 4.4.10.
In an inheritance situation, SDN might not search in the result
for the right name of the list of relationships from the generic query.

Closes #2639
…ties.

This change introduces the concept of `PersistentPropertyCharacteristics` and `PersistentPropertyCharacteristicsProvider`.
The latter can be registered implicitly as a `@Bean` with the mapping context or via a custom mapping context. It allows
checking the properties and their owner for indicators like type and so on to treat them as transient or read only.
Examples have been added to the `Neo4jMappingContextTest` and `PersistentPropertyCharacteristicsIT`.

This closes #2640.
@michael-simons
Copy link
Collaborator Author

Wrong target branch

@meistermeier meistermeier deleted the issue/2640 branch June 26, 2023 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants