Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JCR:Jackrabbit OCM-二进制数据和延迟加载_Jackrabbit_Jcr - Fatal编程技术网

JCR:Jackrabbit OCM-二进制数据和延迟加载

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

我的目标是在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
  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
中找到有用的信息

嗯,