首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCR:大兔子OCM -二进制数据和延迟加载

JCR:大兔子OCM -二进制数据和延迟加载
EN

Stack Overflow用户
提问于 2012-07-13 20:20:33
回答 1查看 1.2K关注 0票数 1

我的目标是存储有关杰克兔子项目的信息。每个项目可以由几个子项目组成,其上附有与项目相关的文件/文件。

考虑以下结构:

代码语言:javascript
复制
-project 1
 -project 1.1
 -project 1.2
  -project 1.2.1
  -project 1.2.2
-project 2

我有一个java类表示每个项目,如下所示:

代码语言:javascript
复制
public class Project {

  @Field
  private String name;

  @Collection
  private List<Project> subprojects;

  // more properties + getter/setter
}

我的问题是:

  • 是否有类似于从ORM工具中延迟加载的东西?例如:当我想获得关于project 1的信息时,我不需要来自子项目的所有信息。实现这一目标的最佳方法是什么?
  • 当使用OCM时,将二进制数据(文件、文档、图像)附加到项目上的最佳方法是什么?

(不幸的是,Jack兔子的OCM文档并不是很详细)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-15 02:45:48

对于延迟加载,可以通过在Bean或Collection注释中指定proxy=true来实现这一点。

二进制数据可以表示为jcr:data属性的nt:resource,因此映射如下所示。

代码语言:javascript
复制
@Node(jcrType = "nt:resource")
public class ResourceModel extends MimeTypeModel {

    @Field(path = true)
    String path = null;

    @Field(jcrName = "jcr:data")
    java.io.InputStream jcr_data = null;
}

的确,OCM的文档没有更新,但是您可以在源分布中从/org/apache/jackrabbit/ocm/config/jackrabbit-ocm-1.5.dtd中找到src/main/resources下的有用信息。

HTH,

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11477800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档