gpt4 book ai didi

Neo4j SDN 4 模拟序列对象(不是 UUID)

转载 作者:行者123 更新时间:2023-12-01 00:34:25 25 4
gpt4 key购买 nike

是否可以在 Neo4j 或 SDN4 中创建/模拟类似于 PostgreSQL 序列数据库对象的东西?

我需要这个线程安全功能,以便能够要求它下一个唯一的 Long 值。我将使用这个值作为我的实体的代理键。

更新

我不想跟UUID因为我必须在我的 Web 应用程序 url 参数中公开这些 ID,以防万一 UUID我的网址看起来很糟糕。我要带素色去Long像 StackOverflow 这样的 ID 的值,例如:

stackoverflow.com/questions/42228501/neo4j-sdn-4-emulate-sequence-objectnot-uuid

最佳答案

这可以通过用户过程和函数来完成。举个例子:

package sequence;

import org.neo4j.procedure.*;
import java.util.concurrent.atomic.AtomicInteger;

public class Next {
private static AtomicInteger sequence = new AtomicInteger(0);

@UserFunction
public synchronized Number next() {
return sequence.incrementAndGet();
}
}

这个例子的问题是当服务器重新启动时,计数器将被设置为零。

所以有必要保留计数器的最后一个值。这可以使用以下示例来完成:

https://maxdemarzi.com/2015/03/25/triggers-in-neo4j/

https://github.com/neo4j-contrib/neo4j-apoc-procedures/blob/master/src/main/java/apoc/trigger/Trigger.java

关于Neo4j SDN 4 模拟序列对象(不是 UUID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42228501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com