小编Sou*_*Cub的帖子

Neo4j数据批量更新

如何在 neo4j cypher 中进行多个节点更新?

现在我正在尝试这样做:

MATCH (user151325288158:User{userId:151325288158}),
      (user88245:User{userId:88245}) 
SET user151325288158.balance=2902833.4219789803 
SET user88245.balance=146701.0299999991 
RETURN user151325288158.balance,user88245.balance;
Run Code Online (Sandbox Code Playgroud)

但这里我有一个问题,如果数据库中不存在这样的用户,则没有人会被更新。另一个问题是性能,这样的查询很慢。

有某种方法可以进行此类批量更新吗?

neo4j

4
推荐指数
1
解决办法
2785
查看次数

Java 8流将内部流结果合并到上面的流中

也许这是变态,但我想在上面的级别上合并内部流的结果.

例如,我们有一些带有数据的复杂地图:

Map<String, List<Map<String, Object>>> dataMap
Run Code Online (Sandbox Code Playgroud)

我需要收集所有对象列表.现在我这样做:

Set<Object> segmentIds = new HashSet<>();
dataMap.values().forEach(maps -> maps.forEach(map -> segmentIds.add(map.get("object"))));
Run Code Online (Sandbox Code Playgroud)

但它不是那么漂亮的方式.但我无法理解如何将数据从内循环传递到外部以最终收集它们.

没有任何外部物体可以做到吗?

java java-8 java-stream

4
推荐指数
1
解决办法
608
查看次数

如果设置 null,Lombok @Builder.Default 不适用于 @Value 对象

我正在尝试获取将默认值设置为所有空字段的不可变对象。所以我的目标是:

import lombok.Builder;
import lombok.Value;

@Value
@Builder
public class Test {
    @Builder.Default
    String name = "default";
}
Run Code Online (Sandbox Code Playgroud)

我希望这两个测试能够通过:

assert Test.builder().build().name == "default"
assert Test.builder().name(null).build().name == "default"
Run Code Online (Sandbox Code Playgroud)

但第二个没有通过。

在这种情况下,我如何告诉 lombok 不要实际设置为 null?我有来自另一项服务的价值,并且它可以为空。如果它对我来说为空,我想使用默认值。

java lombok

3
推荐指数
1
解决办法
5480
查看次数

在单元测试中使用SpringRunner是否可以?

我们正与同事争论这种方法.他们说只在集成或功能级别上使用SpringRunner.

问题是在下面的级别使用它的利弊是什么?

例如,我有简单的bean:

public class RewardDurationCalculator {

    private Clock clock;

    public OptionalLong calculate(DurationType durationType, List<Pass> passes) {
        long now = Instant.now(clock).getEpochSecond();
        switch (durationType) {
            case FULL_PASS:
                return getCurrentPassDuration(passes, now);
            case TILL_THE_END_OF_THE_CURRENT_ACTIVE_PASS:
                return getTimeInCurrentPassLeft(passes, now);
        }
        return OptionalLong.empty();
    }

    private OptionalLong getCurrentPassDuration(List<Pass> passes, long now) {
        return passes.stream()
                .filter(currentPass(now))
                .mapToLong(Pass::getDuration)
                .findFirst();
    }

    private OptionalLong getTimeInCurrentPassLeft(List<Pass> passes, long now) {
        return passes.stream()
                .filter(currentPass(now))
                .mapToLong(pass -> getEndTs(pass) - now)
                .findFirst();
    }

    private Predicate<Pass> currentPass(long now) {
        return pass -> pass.getStartTs() >= now && …
Run Code Online (Sandbox Code Playgroud)

java spring unit-testing spring-test springrunner

2
推荐指数
1
解决办法
1792
查看次数

什么是默认的 hystrix 超时?

我知道这听起来很奇怪,但我找不到答案!

如果没有提供任何设置,默认情况下会为 hystrix 调用设置什么超时?

关于这个的所有问题只是有些东西不起作用,等等。

java spring-boot hystrix

0
推荐指数
1
解决办法
5354
查看次数