Tôi muốn thêm một nút dưới một nút bằng cách sử dụng ObjectContentManager.Làm thế nào tôi có thể thêm một nút dưới một nút bằng cách sử dụng ObjectContentManager?
tôi có thể thêm một nút duy nhất sử dụng ObjectContentManager, sử dụng
Pojo1 p1 = new Pojo1();
p1 .setPath("/p1");
p1 .setName("p_3");
p1 .insert(p1);
ocm.save();
Bây giờ dưới nút này, tôi muốn thêm một nút của lớp Pojo2. Tôi đã viết mã, nhưng nó cho tôi ngoại lệ.
Pojo2 p2 = new Pojo2();
p2.setPath("/p1/p2");
p2.setName("p_3");
p2.insert(p2);
ocm.save();
Nhưng điều này mang lại cho tôi ngoại lệ.
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
Làm cách nào tôi có thể đạt được điều này? Cảm ơn trước.
Như tôi đã đọc [hướng dẫn về ObjectContentManager] (http://jackrabbit.apache.org/object-content-manager.html), bạn thiết lập một bộ mô tả ánh xạ với các chú thích XML hoặc Java để xác định cách pojo của bạn được duy trì. Vui lòng thêm thông tin mô tả ánh xạ vào câu hỏi của bạn. –