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

时间:2015-06-18 16:07:41

标签: java spring spring-boot spring-data-jpa spring-data-neo4j

我正在尝试运行一个非常小的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,它是空的
  • 由于上述^,没有为我的实体分配ID
  • 我根本没有在日志中看到任何SDN活动
  • 我做错了什么?

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

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

感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:1)

我向Neo4j Google群组发了一条消息,并得到了Michael Hunger的一些反馈,所以我将在这里分享:

  • 结果显示跨存储库已暂停一段时间
  • 不支持JPA repos,只有EntityManager操作
  • 跨存储设置不适用于远程服务器且未经过测试

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

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