При использовании Spring-Data-Neo4j-4, кажется, что все, возвращаемое для CRUD-операций REST API по умолчанию, привязано к внутреннему идентификатору, который Neo4j назначает различным типам узлов и отношений.Изменение поля идентификатора по умолчанию для Neo4j с данными Spring
Проблема заключается в том, что эти идентификаторы не имеют реальной ценности для клиентов, использующих наш сервис, который мы строим поверх данных Spring. Например, если я хочу удалить узел Person, я должен сначала выполнить запрос, чтобы получить внутренний идентификатор Neo4j (возможно, это 1234), тогда я смог бы выдать вызов DEL против API CRUD.
DEL http://myserver/person/1234
Но в моем мире мы признаем Личность в наших системах на основе идентификатора пользователя или кода GUID. Что можно сделать, чтобы Spring Data использовала наши собственные уникальные идентификаторы, чтобы я мог сделать вышеупомянутый вызов для удаления, используя вместо этого имя пользователя moryl
? Это позволило бы мне делать CRUD для пользователей с идентификаторами, известными другим системам в нашей сети, и без необходимости делать дополнительный вызов для перевода нашего выбранного поля ID в Neo4j ID, выполняя запрос MATCH/RETURN.
Есть ли простой способ сделать это, или мне придется в основном переписать много методов функциональности CRUD, которые Spring Data является пользователем?
Спасибо.