如何使用Spring Data JPA + Neo4j正确设置跨存储持久性?

我正在尝试运行一个非常小的JPA + SDN(Spring Data Neo4j)交叉商店项目,并且我试图certificate使用JPA存储库调用保存部分实体将在Neo4j中创建相应的节点。

我已经按照我在SO,Google和Spring的网站上找到的说明/建议进行了操作,但目前我仍然无法正常工作。 我目前有一个最小的测试项目:

https://github.com/simon-lam/sdn-cross-store-poc

该项目使用Spring Boot,并且有一个包含图形实体GraphNodeEntity.java和部分实体PartialEntity.java的简单域。 我编写了一个非常基本的测试PartialEntityRepositoryTest.java来对部分实体进行保存并看到:

  • 似乎使用了错误的事务管理器,因为CrossStoreNeo4jConfiguration类没有正确地自动assemblyentityManagerFactory ,它是null
  • 由于上述^,没有为我的实体分配ID
  • 我根本没有在日志中看到任何SDN活动
  • 我做错了什么吗?

更一般地说,我希望确认一些假设并更好地理解跨存储持久性支持:

  • 要启用它,我是否需要启用高级映射?
  • 作为启用高级映射的一部分,我需要设置AspectJ; 这包括启用加载时间编织? 如果是这样,通过使用@EnableLoadTimeWeaving配置完成?
  • 假设我的所有配置最终都已修复,当我使用JPA存储库保留它们时,我是否应该看到Neo4j中存在部分节点? 这应该由方面驱动的跨店支持来处理吗?

感谢您提供的任何帮助!

我向Neo4j Google Group发送了一条消息,并得到了Michael Hunger的一些反馈意见,所以我将在此分享:

  • 原来,跨店商店lib已经hibernate了一段时间
  • 不支持JPA repos,只有EntityManager操作
  • 跨存储设置不适用于远程服务器,也未进行测试

总而言之,我的核心理解/假设已经结束!

资料来源: https : //groups.google.com/forum/#!topic / neo4j / FGI8692AVJQ