-
Notifications
You must be signed in to change notification settings - Fork 617
issue/2640 #2644
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
Closed
Closed
issue/2640 #2644
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
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.
Wrong target branch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@Property
information in projection.@TargetNode
as association to the outside world. (Improve interoperability with Spring Data Rest and other projects. #2489)PersistenceConstructor
has been deprecated. #2491 - Replace usage of deprecatedPersistenceConstructor
withPersistentCreator
.RecordMapAccessor
became superfluous with 4.4.4 driver. #2496 - Remove superfluousRecordMapAccessor
.AfterConvert
events and@PostLoad
annotated methods.MapValueWrapper
for list parameters, too.null
) database selection. #2488 - Use default database selection.:param k => v
format for tracing named parameters.saveAllAs
methods.@Transactional(readOnly=true)
is unclear. #2557 - Improve documentation for read-only transactions.OPTIONAL
returns.org.springframework.data.neo4j.core.mapping.NodeDescription#getChildNodeDescriptionsInHierarchy
.java.util.Map
toorg.neo4j.driver.Value
.__properties__
.withNeo4jConversions
to bothNeo4jClient
andReactiveNeo4jClient
.labels(n)
when deriving a contains query for an entity with dynamic labels.