OrientDB - 使用Java创建自动索引

5
在 OrientDB 中通过 SQL 创建索引时,我可以通过以下方式将其设置为自动模式:
create index MyClass.my_field on MyClass (my_field) unique

当我向数据库添加记录时,我的索引会得到更新。然而,如果我通过以下方式使用Java创建索引:

OClass target = db.getMetadata().getSchema().getOrCreateClass("MyClass");
target.createProperty("my_field", OType.STRING);
target.createIndex("MyClass.my_field", OClass.INDEX_TYPE.UNIQUE, "my_field");
db.getMetadata().getSchema().save();

我的索引已成功创建,但不会自动更新。是否有一些标志可以设置到索引创建中,以便在保存新记录时更新它?

2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

好吧,这不是一个很好的解决方案,但我最终做了:

String sql = "create index MyClass.my_field on MyClass (my_field) unique"
OCommandSQL createIndex = new OCommandSQL(sql);
Object done = db.command(createIndex).execute(new Object[0]);
并且它能够正常工作。但我从未喜欢在我的代码中直接编写原始SQL语句...

0

对我来说,上面的代码在orientdb 1.7.9上运行良好,即本地创建的索引确实会自动更新,正如人们所期望的那样。


我该如何检查我的代码是否自动更新了索引? - jimijazz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,