gpt4 book ai didi

java - 如何使用 Java 文档 API 为 OrientDB 数据库创建自动递增索引/序列?

转载 作者:行者123 更新时间:2023-12-03 02:49:21 26 4
gpt4 key购买 nike

我通过其文档 API 将 OrientDB 与 Java 结合使用。我有一个名为 items 的简单类,它有一个属性 ID。我明确声明架构如下:

    OSchema schema = db.getMetadata().getSchema();
OClass itemsClass = schema.createClass("items");
itemsClass.createProperty("ID", OType.LONG);

然后在ID上创建索引:CREATE INDEX items.ID ON items (ID) UNIQUE

现在,当我创建一个新项目(例如 ODocument doc = new ODocument("items") 等)时,我希望在数据库上生成新项目的 ID(类似于 RDBMS 中的序列)。如何使用 OrientDB 的 Java 文档 API 执行此操作?

最佳答案

OrientDB 不支持串行(我们有一个 issue),因此您可以通过这种方式管理您自己的计数器(使用 SQL 的示例):

create class counter
insert into counter set name='mycounter', value=0

然后每次您需要新号码时,您都可以执行以下操作:

update counter incr value = 1 where name = 'mycounter'

这在 SQL 批处理中以这种方式工作:

begin
let $counter = update counter incr value = 1 where name = 'mycounter' return after
insert into items set id = $counter.value, qty = 10, price = 1000
commit

通过使用 Java,您可以进行相同的操作:创建单例类“Counters”,每次都会增加文档值并保存它。

关于java - 如何使用 Java 文档 API 为 OrientDB 数据库创建自动递增索引/序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816489/

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