我正在尝试运行一个非常小的 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
类没有正确地 AutowiringentityManagerFactory
,它是 null - 由于上述 ^,没有 ID 分配给我的实体
- 我在日志中根本没有看到任何 SDN Activity
- 我做错了什么吗?
更一般地说,我希望确认一些假设并更好地理解一般的跨商店持久性支持:
- 要启用它,我是否需要启用高级映射?
- 作为启用高级映射的一部分,我需要设置 AspectJ;这是否包括启用加载时间编织?如果是这样,这是通过使用
@EnableLoadTimeWeaving
配置完成的吗? - 假设我的所有配置最终都已修复,当我使用 JPA 存储库保存部分节点时,我是否应该期望看到部分节点保存在 Neo4j 中?这应该由方面驱动的跨商店支持来处理,对吧?
感谢您提供的任何帮助!
最佳答案
我向 Neo4j Google Group 发送了一条消息,并从 Michael Hunger 那里得到了一些反馈,所以我将在这里分享:
- 原来交叉存储库已经 hibernate 了一段时间
- 不支持 JPA 存储库,仅支持 EntityManager 操作
- 跨商店设置不适用于远程服务器且未经过测试
总而言之,我的核心理解/假设是错误的!
来源:https://groups.google.com/forum/#!topic/neo4j/FGI8692AVJQ
关于java - 如何使用 Spring Data JPA + Neo4j 正确设置跨商店持久性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920503/