【发布时间】:2012-11-18 09:31:25
【问题描述】:
我想使用 ObjectContentManager 在一个节点下添加一个节点。
我可以使用 ObjectContentManager 添加单个节点,使用
Pojo1 p1 = new Pojo1 ();
p1 .setPath("/p1");
p1 .setName("p_3");
p1 .insert(p1);
ocm.save();
现在我想在这个节点下添加另一个 Pojo2 类的节点。 我写了一个代码,但它给了我例外。
Pojo2 p2 = new Pojo2 ();
p2.setPath("/p1/p2");
p2.setName("p_3");
p2.insert(p2);
ocm.save();
但这给了我一个例外。
org.apache.jackrabbit.ocm.exception.ObjectContentManagerException: Cannot create new node of type nt:pojo1 from mapped class class com.sapient.Pojo1; nested exception is javax.jcr.nodetype.ConstraintViolationException: No child node definition for p2 found in node /p1
我怎样才能做到这一点? 提前致谢。
【问题讨论】:
-
当我阅读tutorial on ObjectContentManager 时,您设置了一个带有 XML 或 Java 注释的映射描述符,以指定您的 pojo 是如何被持久化的。请将映射描述符信息添加到您的问题中。
标签: java jackrabbit