【发布时间】:2015-11-03 10:56:27
【问题描述】:
如何在 orient db 中检查一个类是否存在 如果它没有在数据库中退出,我需要创建它并插入记录(如果存在)我需要插入记录。 我需要用 JAVA 做同样的事情
【问题讨论】:
如何在 orient db 中检查一个类是否存在 如果它没有在数据库中退出,我需要创建它并插入记录(如果存在)我需要插入记录。 我需要用 JAVA 做同样的事情
【问题讨论】:
您可以使用以下语句通过 SQL 检索架构信息:
select expand(classes) from metadata:schema
特别是检索单个类:
select from (
select expand(classes) from metadata:schema
) where name = 'YourClassName'
来自 Java:
ODatabaseDocumentTx db = ...
if(db.getMetadata().getSchema().existsClass("ClassName")){
...
}
如果你有一个 OrientGraph,你可以得到底层的ODatabaseDocumentTx
graph.getRawGraph();
【讨论】:
where name.toLowerCase() = 'yourclassname'
SELECT EXPAND(CLASSES) FROM METADATA:SCHEMA 怎么样?!这里没有类名。我认为将来应该修复它。因为在其他类似 SQL 的数据库中,查询语言不区分大小写。
classes)区分大小写,这就是它不起作用的原因