Вручную добавьте NodeEntity, Id, GeneratedValue, RelationshipEntity et c (без использования аннотаций) - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть два проекта Maven;

a) Проект сервера REST

b) Клиентский проект, потребляющий остальные ресурсы

Я хотел бы создать третий проект, содержащий классы домена POJO - и добавить его в качестве зависимости в двух других проектах, поэтому у меня есть только один проект с классами домена. Тем не менее, проект сервера REST зависит от org.neo4j.ogm, который использует аннотации для достижения постоянства графа (@NodeEntity, @Id, @GeneratedValue, @RelationshipEntity et c.).

Очевидно, я не не хочу, чтобы проект POJO зависел от чего-либо, так как он будет использоваться и клиентом. Итак, мой вопрос: можно ли как-то добавить эти настройки вручную, не используя аннотации?

1 Ответ

0 голосов
/ 27 февраля 2020

Neo4j-OGM работает только с аннотациями и не имеет, например, поддержки объявлений на основе XML.

Это было бы немного хакерским и ограниченным, но есть один сценарий, который мог бы работать:

  • Объекты без аннотации @NodeEntity будут распознаваться как таковые, если вы используете автоматически сгенерированный идентификатор как Long id (без аннотаций @Id и @GeneratedValue).
  • Нет @RelationshipEntity определения.
  • Все отношения являются исходящими, и их имена должны быть получены из имени их поля. (например, List<User> friends станет чем-то вроде (...)-[:FRIENDS]->(:User))
  • Не использовать другие аннотации Neo4j-OGM, такие как @Property, @Convert, et c.
...