问题标签 [spring-data-neo4j-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - SDN4:使用最新快照测试失败
我在测试中遇到以下异常:
强制更新依赖项。
SDN 版本:4.0.0.BUILD-SNAPSHOT
Neo4j 版本:2.2.5(与 2.2.4 出现相同错误)
OGM:1.1.2-SNAPSHOT
这只发生在测试中。
依赖项或配置是否有任何变化?
谢谢。
java - SDN 4 + OGM 1.1.1 @Index(unique = true) 不工作
我知道以前有人问过这个问题,但看起来不像SDN 4
和OGM 1.1.1
这是我的代码@NodeEntity
这里是repo
我有一个带有方法的单元测试类
实际通过了,这@Test
不是我所期望的。它假设失败,因为Company
withname
字段Westpac
已经存在。
我是否遗漏了什么或@Index
错误地理解了这一点。
谢谢,
neo4j - 我可以在嵌入式 neo4j 数据库上使用 Spring Data Neo4j 4.0.0 吗?
我知道这在以前的版本中是可能的,而且我也知道版本 4.0.0 是对服务器优先方法的全面重新设计,但在文档中没有说明是否支持嵌入式模式。
neo4j - spock 使用 spring data neo4j 4.0.0.RELEASE 测试失败
我有一个利用 Spring Data Neo4J 的 Spring Boot 应用程序。我在我的项目中使用以下依赖项。
- Neo4j 2.2.5
- neo4j ogm 1.1.2
- 春季数据neo4j 4.0.0.RELASE
- spock-spring 1.0-groovy-2.3。
当我尝试在我的项目中运行示例 spock 测试时,我得到以下堆栈跟踪...
spock 规范看起来像这样
我的 junit 测试通过了,但是当我在这里尝试使用 spock 时我被卡住了。任何指针都会有所帮助......在我的 testConfig 类中,我正在连接一个 InProcessServer..
java - 如何解决 Spring data neo4j 4 在添加新关系时删除以前的关系的问题?
我正在使用 SDN4,并面临在添加新的不同关系时删除以前关系的问题。这是我的场景,
步骤 1 使用关系实体创建具有一些关系的节点。保存关系实体。
步骤 2 使用 Spring Repository 和 Cypher 基于某些属性获取节点并添加新的不同关系。这是我的获取 API:
保存关系实体
这样做之后,步骤 1 中添加的关系将丢失,但步骤 2 中的关系仍然存在。
在进行一些调试时,我可以看到使用 Cypher 和 Spring Repository 获取返回的节点实体对于关系实体具有空值。
注意:如果我不执行第 2 步,则第 1 步中的关系会正确反映。
有人可以告诉我如果我遗漏了什么或者这是一个问题。我没有看到在这种情况下指定深度的方法,除非这是在密码中的某个地方。
spring - SDN4 - 与 GraphRepository 兼容的实体生命周期事件处理程序
我正在使用 Spring Data Neo4j 4.0.0.RELEASE 并希望利用内置的数据操作事件来动态插入一些审计信息(例如时间戳)。 文档似乎表明只有在我直接使用Neo4jTemplate
.
是否有任何类似的钩子可用于GraphRepository
抽象?也就是说,我是否有一种开箱即用的方式来挂钩图形存储库操作(a la Spring DataJPA?)我已经编写了一些测试,并且可以确认当我只使用GraphRepository
.
neo4j - SDN:4 向转换器中注入值失败
我为我的图形属性编写了一个自定义转换器,如下所示。
实体类
转换器
这是单元测试通过
但是,当我尝试从存储库中使用它时,如下所示。
我的单元测试失败,因为没有发生值注入。
我想知道SDN4如何实例化我的转换器对象?我无法发现我在这里做错了什么。用于在 SDN 3.4 中工作的类似方法。当我升级到 SDN 4 时,它开始崩溃。
neo4j - 使用 Neo4jSessionFactory.queryForObject (或类似)加载所有相关实体
使用 neo4j-ogm,我编写了以下代码,其中包含两个数据库调用。我希望它只有一个数据库调用。
第一个数据库调用是
neo4jSession.queryForObject(Member.class, query, parameters);
第二个数据库调用是
return (Member)super(find(member);
super
是return session.load(Member.class, member.getId(), 1);
哪里session
是neo4jSession
。
我进行第二次 API 调用是因为第一次 API 调用只获取节点/对象,而不获取其相关节点/对象。第二个 API 调用刷新节点及其所有关系。
有谁知道我如何通过一个数据库调用有效地完成所有这些工作?
queryForObject 似乎不像许多其他 neo4jSession 方法那样支持可变深度。
java - 在 Spring Data Neo4j 4 中发送并发请求以持久化实体和关系时抛出 NPE
我正在保留一个包含与其他几个实体的关系的节点实体。当我一次做一个时,这种持久性很好,但是如果我同时运行它,我会在 org.neo4j.ogm.mapper.EntityGraphMapper 获得 NPE
这是我的节点实体的症结所在:
我尝试同时使用带有 (@Transactional) 的 GraphRepository 以及使用带有事务的会话,在这两种情况下,我都遇到了同样的并发问题。
有人可以让我知道如何解决这个问题吗?由于我在轰炸并发请求时遇到了这个问题,所以我不确定这是否与代码流本身有关。
根据 Vince 关于如何发送并发请求的代码的要求,我正在使用带有 Play 的 axon cqrs 框架,并向我的 Play 应用程序的 rest API 发送多个并发请求,该 API 通过 axon 通过 postProduct 方法调用对 Neo4j 的并发写入。这是我编写代码的样子。
我在 xtPostProduct 方法中尝试了 @Transanctional 和 GraphRepository 以及会话。
spring - Spring OGM-建模实体
我有这种情况,其中一位访问者向居民创建了一个待处理的访问请求。然后根据居民提供的答复,访问被批准或拒绝。但在创建新请求之前,访客也有可能已获得居民的永久批准访问许可,在这种情况下,我不需要经历审批周期。
我想以一种可以使用继承的方式对我的实体进行建模,其中,待定访问请求关系是从访问者到居民创建的,而批准/不批准是从居民到访问者发生的。
这是通用的 Person 类:
请注意,Entity 类与 spring-OGM 示例中的相同。这是一个设置了关系类型的居民:
和访客:
以下是按顺序排列的通用访问、PendingVisit 和 PermanentlyApprovedVisit 关系:
公共抽象类访问{
在尝试创建 pendingVisit 时,我首先要检查 PErmanentlyApprovedVisit 关系是否已经存在。我正在编写测试,这就是我测试的方式:
最后,这是 ResidentRepository 方法:
但是,当我运行它时,我不断收到这个异常:
我想在这里实现的那种建模有问题吗?我读了另一个线程,这是 Prev 和 Next 的问题: