嵌入式集,OrientDb中OType中的链接集

纳加拉·普鲁特维(Nagalla pruthvi)

有人可以给我示例代码吗,它使用orientdb中的上述类型作为索引的值。我正在使用OrientDb-2.0.5的Document API
嵌入式集和链接集有什么区别?如何选择?它们之间是否有性能差异?

维托雷斯·杜阿尔特

首先,我们需要了解OrientDB中的以下含义(此信息可在此处获得):

  • 嵌入式记录记录包含在所有者内部。包含的记录没有RecordId
  • 链接链接到另一条记录

这个例子将阐明它:

private static void orientDBCollections() throws IOException {
    dropDBIfExists(URL, USER);
    createDBIfDoesNotExist(URL, USER);

    OPartitionedDatabasePool pool = new OPartitionedDatabasePool(URL, USER, USER);
    try (ODatabaseDocument db = pool.acquire()) {
        OSchema schema = db.getMetadata().getSchema();
        OClass classA = schema.createClass("A");
        OClass classB = schema.createClass("B");
        classA.createProperty("embMap", OType.EMBEDDEDMAP, classB);
        classA.createProperty("linkMap", OType.LINKMAP, classB);
        classA.createProperty("embSet", OType.EMBEDDEDSET, classB);
        classA.createProperty("linkSet", OType.LINKSET, classB);

        ODocument docA = new ODocument("A");
        ODocument docB = new ODocument("B");
        docB.field("name", "nanana");

        Map<String, ODocument> map = new HashMap();
        map.put("thekey", docB);
        docA.field("embMap", map, OType.EMBEDDEDMAP);
        docA.field("linkMap", map, OType.LINKMAP);

        Set<ODocument> set = new HashSet();
        set.add(docB);
        docA.field("embSet", set, OType.EMBEDDEDSET);
        docA.field("linkSet", set, OType.LINKSET);

        docA.save();
    } finally {
        pool.close();
    }
}

之后,从Studio,控制台等中选择“从A中选择”,您将了解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章