2

我已经将 Jack rabbit 与 Oracle 数据库集成,并且我正在
使用 Jackrabbit 存储数据,如果我不想使用 Jackrabbit 检索数据,我可以通过什么方式获取数据。在数据库中,数据以 blob 类型存储。

4

2 回答 2

1

Jackrabbit 将数据存储在数据库中的方式是一个实现细节,如果这就是您的意思,它并不会神奇地将其映射到“好的”数据库模式中。(分层性质和所有 JCR 特性使这成为不可能)。这有点像拥有一个 Unix 文件系统,然后问我如何从文件系统实现中读取低级 inode 等 - 你真的不应该。

最后但同样重要的是,当它运行时(除了 Jackrabbit 集群设置)必须写入数据库(Jackrabbit 使用的表),因为这很容易导致数据损坏。

于 2016-04-08T08:40:35.117 回答
0

正如上面已经提到的@TedTrippin,ORM 框架会让事情变得更容易。但如果你真的想在 Oracle 中手动完成,方法是:

研究OCM的代码http://jackrabbit.apache.org/jcr/object-content-mapping.html,然后根据Oracle的关联和关系逻辑获取内容,可能不是一个文档,而是每个文档的多个查询; 最终使用用户定义的函数,这些函数在 Oracle 中受支持,可能会使事情变得更容易。

知道你的问题的背景会很有趣。您将其标记为“Spring”和“CMS”。我看不出您有任何理由要直接从 Oracle 访问数据,这很乏味。如果您想为外部系统提供内容的 API,或者如果您丢失了曾经在前面的 CMS,并且只是将 Jackrabbit 存储库用作内容存储,您仍然可以使用这样的 ORM / OCM 框架独立,以便更轻松地访问数据。

于 2016-03-21T19:52:42.553 回答