嵌套数组节点类型在 Jackrabbit JCR 中有效吗?

Are nested array node types valid in Jackrabbit JCR?

我是 JCR 的新手 space 并且继承了一个使用 Jackrabbit/Apache Oak 作为 JCR 实现的项目。

我有一个数据模型,我正试图将其转换为如下所示的 JCR 节点结构:

{
    "someProperty": [
        [ "some-property-1", "some-property-2" ],
        [ "some-property-3", "some-property-4" ]
    ]
}

这可能吗?

我问的原因是,似乎所有在 javax.jcr.Node 类型上添加节点的方法都有一个名称。

例如:

addNode(String relPath)

我猜最好将子阵列(例如 [ "some-property-1", "some-property-2" ])建模为它们自己的节点,但不确定手头的设施是否可行。

请原谅对 JCR 的无知!

在理想世界中,我会做类似的事情:

parentNode.addNode("someProperty")
    .addNode().setProperty(["some-property-1", "some-property-2"])
    .addNode().setProperty(["some-property-3", "some-property-4"])

不,JCR 中没有这样的嵌套。

你可以:

  • 将这些转换成可嵌套的节点,或者
  • 重载 属性 名称,或
  • 只使用字符串值,parse/serialize你自己...