【问题标题】:Creating a new node and putting object beans under it java magnolia创建一个新节点并将对象 bean 放在它下面 java magnolia
【发布时间】:2020-12-20 15:10:31
【问题描述】:

我在木兰工作,后端是java。我需要检查我使用这些步骤执行的组件中是否存在节点

if (!MgnlContext.getJCRSession("repository").nodeExists(path)) {
                MgnlContext.getJCRSession ("repository").getRootNode().addNode("nodeName", "mgnl:content");
                }

现在我需要在这个节点内放置一个 bean(java 对象 bean)。例如:因为它应该作为它下面的内容节点。

谁能提出更好的方法?

【问题讨论】:

    标签: java jcr magnolia


    【解决方案1】:

    要将任何 java 映射到存储库中的内容,您在 Magnolia 中的最佳选择是使用 Node2Bean。它允许您将 java bean/pojo 的内容映射到 JCR 节点并返回。更多详情documentation

    【讨论】:

      【解决方案2】:

      通过在 bean 中表示 @Field(path = true) 并将该变量设置在使用 created 创建的节点路径中进行修复。 – MgnlContext.getJCRSession ("repository").getRootNode().addNode("nodeName", "mgnl:content")。因此,当我持久化 bean 时这样做,它会进入我创建的节点。

      【讨论】:

        【解决方案3】:

        为了在 Magnolia 中管理节点/属性,您还可以使用以下工具:

        • info.magnolia.jcr.util.NodeUtil
        • info.magnolia.jcr.util.SessionUtil
        • info.magnolia.jcr.util.PropertyUtil

        【讨论】:

          猜你喜欢
          • 2017-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多