JCR:Jackrabbit OCM-二进制数据和延迟加载
我的目标是在Jackrabbit中存储有关项目的信息。每个项目可以由多个子项目组成,并附带项目相关文件/文档 考虑以下结构:JCR:Jackrabbit OCM-二进制数据和延迟加载,jackrabbit,jcr,Jackrabbit,Jcr,我的目标是在Jackrabbit中存储有关项目的信息。每个项目可以由多个子项目组成,并附带项目相关文件/文档 考虑以下结构: -project 1 -project 1.1 -project 1.2 -project 1.2.1 -project 1.2.2 -project 2 我有一个java类,表示每个项目,如下所示: public class Project { @Field private String name; @Collection privat
-project 1
-project 1.1
-project 1.2
-project 1.2.1
-project 1.2.2
-project 2
我有一个java类,表示每个项目,如下所示:
public class Project {
@Field
private String name;
@Collection
private List<Project> subprojects;
// more properties + getter/setter
}
公共类项目{
@场
私有字符串名称;
@收藏
私有列表子项目;
//更多属性+getter/setter
}
我的问题是:
- 是否有类似于从ORM工具延迟加载的东西?例如:当我想获得关于
的信息时,我并不需要子项目的所有信息。实现这一目标的最佳方式是什么project1
- 使用OCM时,将二进制数据(文件、文档、图像)附加到项目的最佳方式是什么
(不幸的是,Jackrabbit OCM文档并不是很详细)对于延迟加载,可以通过在Bean或集合注释中指定
proxy=true
来实现
二进制数据可以表示为nt:resource
的jcr:data
属性,因此映射如下所示
@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的文档确实没有更新,但是您可以在源代码发行版的src/main/resources
下的/org/apache/jackrabbit/OCM/config/jackrabbit-OCM-1.5.dtd
中找到有用的信息
HTH,对于延迟加载,可以通过在Bean或集合注释中指定
proxy=true
来实现
二进制数据可以表示为nt:resource
的jcr:data
属性,因此映射如下所示
@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的文档确实没有更新,但是您可以在源代码发行版的src/main/resources
下的/org/apache/jackrabbit/OCM/config/jackrabbit-OCM-1.5.dtd
中找到有用的信息
嗯,