首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用QueryResult检索OpenCMIS文档

使用QueryResult检索OpenCMIS文档
EN

Stack Overflow用户
提问于 2014-06-12 16:30:20
回答 2查看 985关注 0票数 0

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

代码语言:javascript
复制
ItemIterable<QueryResult> results = session.query("SELECT * FROM cmis:document WHERE cmis:name LIKE 'test%'", false);

for(QueryResult hit: results) {
        Document document = (Document) session.getObject(session.createObjectId((String) hit.getPropertyValueById("cmis:objectId"))); 
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-12 16:51:58

尝试Session.queryObjects()方法。

票数 3
EN

Stack Overflow用户

发布于 2019-07-05 10:05:24

对我来说,这是完美的。

代码语言:javascript
复制
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));
}

在此发现:https://chemistry.apache.org/java/examples/example-process-query-results.html

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

https://stackoverflow.com/questions/24189475

复制
相关文章

相似问题

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