Java 使用OpenCMIS从QueryResult检索文档

Java 使用OpenCMIS从QueryResult检索文档,java,opencmis,Java,Opencmis,我正在使用Apache化学OpenCMIS java库。给定一个QueryResult(例如,我通过搜索元数据属性找到一个文档或一堆文档),这是检索文档对象本身的合理方法吗?还是有更有效的方法 ItemIterable results=session.query(“从cmis:document中选择*,其中cmis:name LIKE'test%”,false); 对于(查询结果命中:结果){ documentdocument=(Document)session.getObject(sessio

我正在使用Apache化学OpenCMIS java库。给定一个QueryResult(例如,我通过搜索元数据属性找到一个文档或一堆文档),这是检索文档对象本身的合理方法吗?还是有更有效的方法

ItemIterable results=session.query(“从cmis:document中选择*,其中cmis:name LIKE'test%”,false);
对于(查询结果命中:结果){
documentdocument=(Document)session.getObject(session.createObjectId((String)hit.getPropertyValueById(“cmis:objectId”));
}

试试这个方法。

试试这个方法。

试试这个方法。

试试这个方法。

对我来说,这个方法非常有效

String myType = "my:documentType";

// get the query name of cmis:objectId
ObjectType type = session.getTypeDefinition(myType);
PropertyDefinition<?> objectIdPropDef = type.getPropertyDefinitions().get(PropertyIds.OBJECT_ID);
String objectIdQueryName = objectIdPropDef.getQueryName();

String queryString = "SELECT " + objectIdQueryName + " FROM " + type.getQueryName();

// execute query
ItemIterable<QueryResult> results = session.query(queryString, false);

for (QueryResult qResult : results) {
   String objectId = qResult.getPropertyValueByQueryName(objectIdQueryName);
   Document doc = (Document) session.getObject(session.createObjectId(objectId));
}

String myType=“my:documentType”;
//获取cmis:objectId的查询名称
ObjectType类型=session.getTypeDefinition(myType);
PropertyDefinition ObjectdPropDef=type.getPropertyDefinitions().get(PropertyId.OBJECT\u ID);
字符串ObjectdQueryName=ObjectdPropDef.getQueryName();
String queryString=“从“+type.getQueryName()中选择“+objectIdQueryName+”;
//执行查询
ItemIterable results=session.query(queryString,false);
对于(查询结果:结果){
字符串objectId=qResult.getPropertyValueByQueryName(objectIdQueryName);
documentdoc=(Document)session.getObject(session.createObjectId(objectId));
}

在这里找到:

对我来说,这非常有效

String myType = "my:documentType";

// get the query name of cmis:objectId
ObjectType type = session.getTypeDefinition(myType);
PropertyDefinition<?> objectIdPropDef = type.getPropertyDefinitions().get(PropertyIds.OBJECT_ID);
String objectIdQueryName = objectIdPropDef.getQueryName();

String queryString = "SELECT " + objectIdQueryName + " FROM " + type.getQueryName();

// execute query
ItemIterable<QueryResult> results = session.query(queryString, false);

for (QueryResult qResult : results) {
   String objectId = qResult.getPropertyValueByQueryName(objectIdQueryName);
   Document doc = (Document) session.getObject(session.createObjectId(objectId));
}

String myType=“my:documentType”;
//获取cmis:objectId的查询名称
ObjectType类型=session.getTypeDefinition(myType);
PropertyDefinition ObjectdPropDef=type.getPropertyDefinitions().get(PropertyId.OBJECT\u ID);
字符串ObjectdQueryName=ObjectdPropDef.getQueryName();
String queryString=“从“+type.getQueryName()中选择“+objectIdQueryName+”;
//执行查询
ItemIterable results=session.query(queryString,false);
对于(查询结果:结果){
字符串objectId=qResult.getPropertyValueByQueryName(objectIdQueryName);
documentdoc=(Document)session.getObject(session.createObjectId(objectId));
}

在这里找到:

对我来说,这非常有效

String myType = "my:documentType";

// get the query name of cmis:objectId
ObjectType type = session.getTypeDefinition(myType);
PropertyDefinition<?> objectIdPropDef = type.getPropertyDefinitions().get(PropertyIds.OBJECT_ID);
String objectIdQueryName = objectIdPropDef.getQueryName();

String queryString = "SELECT " + objectIdQueryName + " FROM " + type.getQueryName();

// execute query
ItemIterable<QueryResult> results = session.query(queryString, false);

for (QueryResult qResult : results) {
   String objectId = qResult.getPropertyValueByQueryName(objectIdQueryName);
   Document doc = (Document) session.getObject(session.createObjectId(objectId));
}

String myType=“my:documentType”;
//获取cmis:objectId的查询名称
ObjectType类型=session.getTypeDefinition(myType);
PropertyDefinition ObjectdPropDef=type.getPropertyDefinitions().get(PropertyId.OBJECT\u ID);
字符串ObjectdQueryName=ObjectdPropDef.getQueryName();
String queryString=“从“+type.getQueryName()中选择“+objectIdQueryName+”;
//执行查询
ItemIterable results=session.query(queryString,false);
对于(查询结果:结果){
字符串objectId=qResult.getPropertyValueByQueryName(objectIdQueryName);
documentdoc=(Document)session.getObject(session.createObjectId(objectId));
}

在这里找到:

对我来说,这非常有效

String myType = "my:documentType";

// get the query name of cmis:objectId
ObjectType type = session.getTypeDefinition(myType);
PropertyDefinition<?> objectIdPropDef = type.getPropertyDefinitions().get(PropertyIds.OBJECT_ID);
String objectIdQueryName = objectIdPropDef.getQueryName();

String queryString = "SELECT " + objectIdQueryName + " FROM " + type.getQueryName();

// execute query
ItemIterable<QueryResult> results = session.query(queryString, false);

for (QueryResult qResult : results) {
   String objectId = qResult.getPropertyValueByQueryName(objectIdQueryName);
   Document doc = (Document) session.getObject(session.createObjectId(objectId));
}

String myType=“my:documentType”;
//获取cmis:objectId的查询名称
ObjectType类型=session.getTypeDefinition(myType);
PropertyDefinition ObjectdPropDef=type.getPropertyDefinitions().get(PropertyId.OBJECT\u ID);
字符串ObjectdQueryName=ObjectdPropDef.getQueryName();
String queryString=“从“+type.getQueryName()中选择“+objectIdQueryName+”;
//执行查询
ItemIterable results=session.query(queryString,false);
对于(查询结果:结果){
字符串objectId=qResult.getPropertyValueByQueryName(objectIdQueryName);
documentdoc=(Document)session.getObject(session.createObjectId(objectId));
}
可在此处找到: