0

如果我有一个额外的 Spring 应用程序扩展了我的 Magnolia,它获取了一些 Java 对象,将在我的应用程序中使用,我该如何保存它???我已经学会了查询,但我还不能使用它来放入或更改它。我只能获取数据。成节点。我在哪里或如何坚持?

对于信息:我有一个存储库来存储特殊数据,并且为此声明了一个节点类型。因为现在是春季社交用户连接,所以我有工作区“连接”与 nodeType mgnl:userConnection

我的 JavaObject 是一个 UserConnection,设计在 MgnlUser 附近,所以我还添加了属性,但我还不知道如何处理路径和 uuid。我还不知道如何申报或从哪里获得它。

4

1 回答 1

1

您可以以与获取数据相同的方式存储数据。假设您正在通过 Magnolia 过滤器链运行 Spring 应用程序,您已经为给定线程设置了 MgnlContext,并且可以轻松调用MgnlContext.getJCRSession("connections")以获取会话和节点,方法与检索数据、添加子节点或在给定节点上设置属性的方式相同,您只需调用node.addNode("myNewNode")node.setProperty("myProp", "newValue")在节点上,然后调用 tosession.save()以保留会话信息。但我想你已经知道这一切了。

如果您想通过系统将整个对象序列化为 repo,您​​可以为此使用 JackRabbit OCM,甚至更简单 - 使用 OCM 与 Magnolia 的集成 - http://jira.magnolia-cms.com/browse/MJROCM . 如果您正在寻找有关如何使用 OCM 的示例,它已经在 Magnolia 的 Shop 模块中使用。

HTH,一月

于 2014-04-17T05:28:45.530 回答