问题标签 [orientdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
193 浏览

java - OrientDB 有类似@MappedSuperclass 的东西吗?

我想为&字段创建一个AbstractEntity类,因此我不必在每个实体类中声明这些字段和访问器。就像是:idversion

在 JPA 中,我可以使用 注释AbstractEntity@MappedSuperclass因此它不会AbstractEntity在 db 上生成表。如何在 OrientDB 对象数据库 API 中实现相同的行为?我不想AbstractEntity在我的数据库中有一个类。

0 投票
1 回答
833 浏览

java - 序列化 OrientDB RecordID 时无限递归

在我的模式中,我有一个像这样的抽象类:

此类用作每个实体的超类,例如:

我正在设计一个 REST 层,它允许用户通过 JSON 请求/响应在 db 中创建记录:

但是,在最后一种方法中,当我调用 Jackson 来序列化我新创建的实体(在writeValueAsString方法中)时,我得到了一个无限递归:

@JsonProperty我可以通过从类中的getId方法中删除来避免无限递归AbstractEntity。但是,这样该id属性将不会出现在 JSON 响应中。

那么,我怎样才能序列化id属性呢?

谢谢!

0 投票
1 回答
434 浏览

proxy - OrientDB POJO 方法代理无法正常工作

我正在使用 OrientDB 的 OObjectDatabaseTx 实现将我的 POJO 存储在数据库中。当我尝试使用 SQL commant 检索一些 POJO 时,我得到了结果集,但 POJO 的属性似乎为空(getters regurning null)。

我正确注册了我的课程

以下代码描述了我的问题:

如何让 getPwd 方法返回正确的值?

我现在使用的是 1.3.0 版本,这在之前已经有效(afaik 在 1.1.0 中)。

0 投票
5 回答
1145 浏览

java - 哪种 NoSQL 实现最合适?

我是 NoSQL 的新手,我正在为我正在尝试构建的应用程序找出最合适的 NoSQL 实现而摸不着头脑。

我的 Java 应用程序需要一个包含数百万到数十亿个条目的内存哈希图,因为它对单层神经网络进行建模。现在我们正在使用Trove,以便能够使用原语作为键和值来减小映射的大小并提高访问速度。该映射是映射的映射,其中外部映射的键是长整数,而内部映射具有长/浮点键/值。

当应用程序启动时,我们需要能够将保存的状态从磁盘读取到地图地图中。对地图地图的更改也需要连续或根据某个预定间隔保存到磁盘。

起初我被OrientDB所吸引是因为他们的文档和对象数据库,尽管我现在还不确定什么会更好。然后我遇到了Redis,它是一个键值存储,与可以转储到磁盘的内存数据集一起使用,包括主从复制。但是,地图的值看起来不能是字符串以外的任何值。

我是否在正确的地方寻找满足我需求的解决方案?现在,我喜欢 Redis 的内存和主从方面,但我喜欢 OrientDB 的对象/文档功能,因为我的数据结构比简单的字符串更复杂,并且能够将 Trove 与原始键/值类型一起使用非常有利。如果阅读便宜而写作昂贵而不是相反,那就更好了。

想法?

0 投票
3 回答
1335 浏览

sql - OrientDB 从查询中选择顶点、边对

在 OrientDb 图形数据库中,我试图获取有关顶点、边对的一些信息。

例如,考虑以下情况:

我希望得到以下 3 行;

我尝试了以下方法:

但这些解决方案似乎都没有返回我想要的。如何返回顶点、边对?

0 投票
1 回答
190 浏览

java - getHardwareAddress 不适用于 OrientDB 的 IBMi (iSeries) reqd

我实际上是在尝试在 IBMi 上运行 OrientDB(iSeries、AS/400、V540、JDK6-32 位最后应用的 CUM PTF)。OrientDB 早期所做的一件事(可以这么说)是尝试找到至少一个 mac 地址(不完全确定为什么我现在纯粹在本地嵌入模式下使用它)。我制作了自己的测试方法,结果相同:

系统输出显示一条消息:

并且它无法使用调用 getHardwareAddress() 检索任何 mac 地址(实际上它返回 null 3 次)。我以“程序员”类型用户和安全官(如“root”)的身份运行它,结果相同。它在我的 Ubuntu 12.04 PC 和笔记本电脑上运行良好。

我想知道是否有其他人遇到过这个问题并找到了解决方案。

0 投票
1 回答
547 浏览

orientdb - OrientDB REST API 在与嵌入式服务器相同的 Web 应用程序上可用(使用相对路径)

我正在编写一个用于分发的 Web 应用程序,它带有一个嵌入式 OrientDB,并且想知道您是否可以给我一些关于如何捆绑 OrientDB Studio 的线索,而不必使用内置的 Web 服务器。(这样做的原因是许多托管服务提供商不允许使用其他端口,因此仅通过部署应用程序就无法使工作室可用)这个想法是让 OrientDB 的 REST API 可从相对路径中使用我的网络应用程序,以便工作室可以与之通信,但我不知道从哪里开始寻找。首先,我需要知道如果不使用内置 Web 服务器上提供的侦听器,是否可以使 REST 协议可用,然后是否可以将工作室操作指向相对地址。

这似乎是其他人可能遇到过的问题,所以如果不是使用 OrientDB,也许使用其他可嵌入数据库遇到类似问题可能会对我有所帮助......

0 投票
2 回答
2581 浏览

java - 尝试使用 OrientDB

我正在尝试这个简单的代码:

它输出到控制台:

而我预计第一行会输出两次。谁能发现它有什么问题?

编辑1

这是TestObject.java:

编辑2

更改了 TestObject.java 以包含以下字段:

并添加到 toString() 中。现在程序打印:

这也好不到哪里去。

编辑3

问题是它OObjectProxyMethodHandler.invoke()没有被调用,即使db.newInstance确实返回了一个代理并且我使用TestObject.setXXX方法设置了属性。我不知道为什么不调用处理程序。

编辑4

好的,处理程序的问题在于实现的方法过滤器OObjectMethodFilter正在检查方法是否由使用特定命名方案命名的字段支持。该类TestObject不遵循该方案 - 它使用m_私有字段的前缀,这未通过过滤器测试。去掉前缀,现在OObjectProxyMethodHandler.invoke()叫。但是,最终的结果还是一样的。进一步调查。

0 投票
2 回答
651 浏览

neo4j - 将数据汇总为树数据结构(在图形数据库中)

我有一个树数据结构,其中在叶节点处输入数据。我想要做的是将这些数据汇总到树中,例如对于树中的任何节点,汇总它下面的所有数据。

有没有使用图形数据库的聪明方法来做到这一点?

0 投票
2 回答
2213 浏览

neo4j - Tinkerpop 蓝图顶点查询

我研究 Tinkerpop 堆栈已经有一段时间了。我想我很清楚它可以做什么以及它适用于哪些数据库。我现在正在考虑几个不同的数据库,但还没有确定。所以我决定把我的代码纯粹写到接口上,现在不考虑任何实现。在我正在查看的数据库中,它们实现了TransactionalGraphKeyIndexableGraph. 我认为这足以满足我的需要,但我只有一个问题。

我有不同的“类”顶点。使用蓝图,我相信通过在每个顶点中包含类名的字段来最好地表示。这样做,我可以做类似的事情graph.getVertices("classname", "User"),它会给我所有的用户顶点。并且由于该getVertices函数指定实现应该使用索引,因此我可以保证快速查找(如果我索引该字段)。

但是假设我想根据两个属性检索一个顶点。顶点必须有className=Usersusername=admin。找到该单个顶点的最佳方法是什么?即使不是所有的顶点都有一个username字段,是否可以对这两个属性进行索引?

仅供参考 - 我目前考虑的数据库是 OrientDB、Neo4j 和 Titan,但我还没有确定。如果有帮助的话,我目前也计划使用 Gremlin。