Я пытаюсь запустить очень минимальный проект кросс-хранилища JPA + SDN (Spring Data Neo4j) и пытаюсь продемонстрировать, что сохранение частичного объекта с использованием вызова репозитория JPA создаст соответствующий узел в Neo4j.
Я выполнил инструкции / советы, которые мне удалось найти на сайтах SO, Google и Spring, но в настоящее время у меня все еще возникают проблемы с установкой. В настоящее время у меня есть минимальный тестовый проект, созданный по адресу:
https://github.com/simon-lam/sdn-cross-store-poc
Проект использует Spring Boot и имеет простой домен, содержащий сущность графа GraphNodeEntity.java
и частичную сущность PartialEntity.java
. Я написал очень простой тест PartialEntityRepositoryTest.java
, чтобы сохранить частичную сущность, и вижу:
- Похоже, что используется неправильный диспетчер транзакций, потому что класс
CrossStoreNeo4jConfiguration
неправильно выполняет автоматическое подключениеentityManagerFactory
, он равен нулю - В результате вышеизложенного ^ моей сущности не присваивается идентификатор.
- Я вообще не вижу в логах активности SDN
- Я что-то делаю явно не так?
В целом, я надеялся подтвердить некоторые предположения и лучше понять поддержку сохраняемости между хранилищами в целом:
- Чтобы включить его, мне нужно включить расширенное сопоставление?
- В рамках включения расширенного сопоставления мне нужно настроить AspectJ; включает ли это включение ткачества времени загрузки? Если да, то достигается ли это с помощью конфигурации
@EnableLoadTimeWeaving
? - Предполагая, что вся моя конфигурация в конечном итоге исправлена, следует ли ожидать, что частичные узлы сохранятся в Neo4j, когда я сохраню их с помощью репозитория JPA? Это должно выполняться кросс-магазинной поддержкой, которая руководствуется аспектами, верно?
Спасибо за любую помощь, которую можно предложить!