在orientDB中通过sql创建索引时,我可以通过执行以下操作将其设置为自动:
create index MyClass.my_field on MyClass (my_field) unique
Run Code Online (Sandbox Code Playgroud)
当我向数据库添加记录时,我的索引会更新。但是,如果我通过执行以下操作使用 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();
Run Code Online (Sandbox Code Playgroud)
我的索引已成功创建,但不会自动更新。我可以为索引创建设置一些标志来告诉它在我保存新记录时进行更新吗?
好吧,这不是一个很好的解决方案,但我最终做了:
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]);
Run Code Online (Sandbox Code Playgroud)
它有效。不过,我从来不喜欢在代码中编写原始 sql...
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |