Tag: orientdb

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

我通过其Document 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 : CREATE INDEX items.ID ON items (ID) UNIQUE 。 现在,当我创建一个新项目(类似于ODocument doc = new ODocument(“items”)等)时,我希望在数据库上生成新项目的ID(类似于RDBMS中的序列)。 如何使用OrientDB的Java Document API执行此操作?

在OrientDB中使用Java为图形数据库创建模式

我正在尝试使用Java在OrientDB中为图形数据库创建模式,但我有两个问题我无法解决。 我正在使用此示例http://orientdb.com/docs/last/Graph-Schema.html 当我使用此代码时 OServerAdmin serverAdmin = new OServerAdmin(“remote:localhost”).connect(“root”, “1234”); serverAdmin.createDatabase(“mydb”, “graph”, “plocal”); serverAdmin.close(); 我收到以下错误: java.lang.NoSuchMethodError:com.orientechnologies.common.concur.resource.OResourcePool.getAllResources()Ljava / util / Collection; 在com.orientechnologies.orient.client.r 它创建了数据库,但仅此而已,因为我得到了该exception。 我可以从命令行创建数据库,然后使用Java创建模式,如: OrientGraph graph = new OrientGraph(“remote:localhost/mydb”, “root”, “1234”); OrientVertexType userVType = graph.createVertexType(“User”); userVType.createProperty(“email”, OType.STRING) // … 它工作正常但它会尝试每次运行程序时创建模式,我得到的错误消息,如用户类已经存在等等。所以我想知道我怎么能检查数据库和模式是否已经存在或者哪个是在OrientDB中使用Java创建模式的正确方法?

我可以将我的Java类注册为OrientDB Vertices和/或Edges吗?

我尝试了OrientDB 对象数据库API ,它允许使用entityManager.registerEntityClasses(packagename)将注册Java POJO用于​​数据库,然后用最少的额外工作读取它们。 但是,我想要实现的是在图表中将我的Java POJO注册为顶点。 是否有一些映射可用于将Java POJO注册为顶点?

在OrientDB中创建具有最低权限的Java用户

我通过以下方式创建具有最低权限的用户: db.command(new OCommandScript(“sql”, “insert into orole set name = ‘ardaRole’, mode = 0”)).execute(); db.command(new OCommandScript(“sql”, “update orole put rules = ‘database.class’, 2 where name = ‘ardaRole'”)).execute(); db.command(new OCommandScript(“sql”, “update orole put rules = ‘database.function’, 2 where name = ‘ardaRole'”)).execute(); db.command(new OCommandScript(“sql”, “update orole put rules = ‘database.cluster’, 2 where name = ‘ardaRole'”)).execute(); db.command(new OCommandScript(“sql”, “insert […]