Commit Graph

1811 Commits

Author SHA1 Message Date
Mark Paluch
ef83cdb1ff Prepare 6.3.8 (2021.2.8).
See #2654
2023-02-17 10:08:08 +01:00
Michael Simons
5d1241e591 GH-2621: Recursively apply DtoInstantiating converter for fluent ops. (#2667)
This allows to use Dto based projections to be used in a nested fashion when using the fluent save operations.

This does not solve - or attempt to solve - the issue that we don’t have any information what concrete projection class to be used when projection in all cases.

In the test `nestedProjectWithFluentOpsShouldWork` we could argue that the concrete value can be used to determine the type information. However, while that can be made to work with heterogeneous collections, it would bring a big performance penalty, getting new persistent entity instances and property accessors all the time.

Thus, this change now makes sure no exception is thrown when using such inherited projections, but does explicitly not bring support for deriving the projected properties from them accross an inheritance hierachy.

For more information, please read the comments in org.springframework.data.neo4j.integration.imperative.ProjectionIT#nestedProjectWithFluentOpsShouldWork and org.springframework.data.neo4j.integration.imperative.ProjectionIT#nestedProjectWithFluentOpsShouldWork2.

This closes #2621.
2023-02-10 08:58:46 +01:00
Gerrit Meier
ec5cb854bd GH-2668 - Optimise update of relationship properties.
There is no need to fetch start and end node if we already have the
identifier of the relationship to update.

Closes #2668
2023-02-09 16:57:43 +01:00
Mark Paluch
56fb58b0c8 Update CI properties.
See #2654
2023-01-30 10:48:55 +01:00
Gerrit Meier
423eb98a67 GH-2655 - Revert issue specific version in pom. 2023-01-24 13:15:18 +01:00
Gerrit Meier
cb03fcadd8 GH-2661 - Detect entity in projection correctly.
There was a random picking of correct property paths
if they represented the very same length (1).
Added a `isEntity` filter to be sure that only the interesting
property paths get returned.

Closes #2661
2023-01-24 11:16:29 +01:00
Gerrit Meier
71e3fd743f GH-2622 - Throw exception on immutable self-reference.
This slipped through the check before:
A has dependency on A defined within the constructor.
Because of a "same" entity check, we skipped the `inCreation` check
and did not throw the MappingException.

Closes #2622
2023-01-23 16:17:26 +01:00
Gerrit Meier
bcba1e577f GH-2656 - Fix broken link in reference documentation.
Linked repository got renamed.

Closes #2656
2023-01-20 12:42:09 +01:00
Gerrit Meier
bc2efd8f98 GH-2655 - Fix false-positive cycle detection.
If multiple base class extending entities contain the very same target,
it was reported as a cycle.
Now it will get correctly detected as a directed graph.

Closes #2655
2023-01-20 11:47:41 +01:00
Gerrit Meier
302b5385bd GH-2655 - Find child relationships reliable.
Don't exclude relationships only by their field name but also by their target entity.
2023-01-18 11:28:17 +01:00
Gerrit Meier
77c04dbd24 GH-2655 - Prepare branch. 2023-01-18 11:26:37 +01:00
Mark Paluch
c26802d3c4 After release cleanups.
See #2629
2023-01-13 10:35:34 +01:00
Mark Paluch
357eccbb7f Prepare next development iteration.
See #2629
2023-01-13 10:35:32 +01:00
Mark Paluch
0bd161f237 Release version 6.3.7 (2021.2.7).
See #2629
2023-01-13 10:32:45 +01:00
Mark Paluch
c4f8b6c280 Prepare 6.3.7 (2021.2.7).
See #2629
2023-01-13 10:32:30 +01:00
Mark Paluch
a4b49a1489 Switch to mockk-jvm artifact.
Closes #2652
2023-01-11 16:16:07 +01:00
Michael Simons
74e6bfbcfc GH-2640 - Introduce API for dynamic configuration of transient properties. (#2645)
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.
2023-01-05 10:56:02 +01:00
Mark Paluch
6ddbba86f0 Extend license header copyright years to 2023.
See #2642
2023-01-02 09:51:57 +01:00
Gerrit Meier
8ab3e413de GH-2639 - Fix relationship detection in converter.
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
2022-12-15 12:26:24 +01:00
Michael Simons
c7f0c5e769 GH-2638 - Use labels(n) when deriving a contains query for an entity with dynamic labels.
Closes #2638.
2022-12-14 15:25:11 +01:00
Michael Simons
ea8f2d5dec GH-2632 - Upgrade Java driver to 4.4.10.
Closes #2632 for 6.3 with the fixed driver 4.4.10.
2022-12-08 15:20:22 +01:00
Michael Simons
efe7dc344a GH-2633 - Be more lenient when mapping DTOs. (#2634)
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.
2022-11-24 16:34:29 +01:00
Mark Paluch
6f0b4b05c1 Update CI properties.
See #2629
2022-11-18 15:33:53 +01:00
Mark Paluch
46e0ce859d After release cleanups.
See #2609
2022-11-18 10:55:37 +01:00
Mark Paluch
709ffaa433 Prepare next development iteration.
See #2609
2022-11-18 10:55:35 +01:00
Mark Paluch
717c3c85e6 Release version 6.3.6 (2021.2.6).
See #2609
2022-11-18 10:45:32 +01:00
Mark Paluch
5e0f1815f7 Prepare 6.3.6 (2021.2.6).
See #2609
2022-11-18 10:44:44 +01:00
Mark Paluch
8fc21b08cc Update CI properties.
See #2609
2022-10-31 13:18:14 +01:00
Michael Simons
889253dfa9 GH-2618 - Allow the use of composite values as ids.
Also allow the use of composite values in derived findBy… methods.

Closes #2618.
2022-10-28 13:56:20 +02:00
Michael Simons
985da3af1f GH-2619 - Correctly count most matching, static labels.
In case another matching node description is found, the value of the `mostMatchingStaticLabels` must be updated.

Fixes #2619.
2022-10-27 13:21:46 +02:00
Gerrit Meier
69395adba8 Add section about projection modification after loading. 2022-10-14 11:05:39 +02:00
Gerrit Meier
4b417631d3 Add note about version field for provided ids. 2022-10-14 10:45:03 +02:00
Spring Builds
7e7345f153 After release cleanups.
See #2608
2022-10-13 13:46:48 +00:00
Spring Builds
4f0235c38c Prepare next development iteration.
See #2608
2022-10-13 13:46:35 +00:00
Spring Builds
04d26e48f4 Release version 6.3.5 (2021.2.5).
See #2608
2022-10-13 13:23:59 +00:00
Spring Builds
fd2182a91b Prepare 6.3.5 (2021.2.5).
See #2608
2022-10-13 13:21:26 +00:00
Spring Builds
4e2d7815e1 After release cleanups.
See #2595
2022-10-13 09:23:52 +00:00
Spring Builds
19f4b4860f Prepare next development iteration.
See #2595
2022-10-13 09:23:39 +00:00
Spring Builds
bb861aaf93 Release version 6.3.4 (2021.2.4).
See #2595
2022-10-13 08:59:49 +00:00
Spring Builds
e2d12492d1 Prepare 6.3.4 (2021.2.4).
See #2595
2022-10-13 08:56:57 +00:00
Gerrit Meier
44a5c9af44 GH-2585 - Make type detection by label more robust.
Closes #2585
2022-10-12 09:41:01 +02:00
Gerrit Meier
9d6acf955d GH-2600 - Fix relproperties and simple relationship hydration.
Misses dynamic relationships right now.

Closes #2600
2022-10-11 14:55:11 +02:00
Gerrit Meier
590f748fe1 GH-2599 - Fix bug on save with updated and new relationship properties.
Closes #2599
2022-09-26 12:03:57 +02:00
Spring Builds
b1700ff1ec After release cleanups.
See #2569
2022-09-19 12:00:16 +00:00
Spring Builds
e77fc2edb3 Prepare next development iteration.
See #2569
2022-09-19 12:00:04 +00:00
Spring Builds
3d76257799 Release version 6.3.3 (2021.2.3).
See #2569
2022-09-19 11:38:40 +00:00
Spring Builds
511ca4c1d0 Prepare 6.3.3 (2021.2.3).
See #2569
2022-09-19 11:36:13 +00:00
Michael Simons
b645d3fb38 GH-2594 - Add withNeo4jConversions to both Neo4jClient and
`ReactiveNeo4jClient`.

Closes #2594.
2022-09-19 12:09:58 +02:00
Gerrit Meier
b10ea7fabe GH-2591 - Fix StackOverflow on first level of recursive projections.
Closes #2591
2022-09-14 19:17:10 +02:00
Gerrit Meier
1af73557e5 GH-2588 - Replace node creation's MERGE with UNION.
Ensure that no duplicates can get created.

Closes #2588
2022-09-14 15:30:53 +02:00