小编典典

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

java

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

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

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

感谢您提供的任何帮助!


阅读 392

收藏
2020-11-26

共1个答案

小编典典

我向Neo4j Google集团发送了一条消息,并从Michael Hunger获得了一些反馈,因此我将在这里分享:

  • 原来交叉存储库已经休眠了一段时间
  • 不支持JPA仓库,仅EntityManager操作是
  • 跨商店设置不适用于远程服务器,并且未经测试

总而言之,我的核心理解/假设不成立!

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

2020-11-26