Closed sdaschner closed 4 years ago
Thanks for reporting this.
The underlying problem is that the converter does not get called for the conversion of the MyKeyType
when the load
is executed. In general it is possible to use a map-like construct like {key: '1234'}
as a parameter but with the constraint applied it has to be a scalar Cypher type.
Without the constraint you should not be able to find anything with the load
method above if you save and load in different Neo4j-OGM sessions or do a session.clear()
between them, right?
It works for UUID
because the internal mapping of OGM calls the jackson object mapper and it gets converted to a String
behind the scenes.
When using a custom key type with a custom serializer, loading and saving nodes via OGM works as expected, until a constraint is added.
Current Behavior
The following setup:
The following works as expected:
Now, if we add a key constraint (enterprise edition, haven't tested other constraints):
Then loading fails with the following exception:
Context
Note that it does works as expected when using a custom key type for which Neo provides a converter, e.g.
UuidStringConverter
. So the issue seems to be with custom converters.Your Environment