我在将 Java 中的有序查询与 Alfresco 集成在一起时遇到问题。我正在使用 OpenCMIS 与 Alfresco 集成,我想执行与此类似的查询
String query = "SELECT * FROM personalizedType:personalizedType WHERE " + "personalizedType:propertyNumber like '" + number + "' AND " + "cmis:name LIKE '" + name + "' AND "+ "personalizedType:propertyString like '" + nome + "' " + "ORDER BY personalizedType:propertyString"; ItemIterable<QueryResult> results = session.query(query, false);
我有一个在 Alfresco 中创建的自定义类型:“personalizedType:personalizedType”(personalizedType 只是一个示例,哈哈),它的元数据是“propertyNumber”和“propertyString”...我需要显示按以下顺序排序的结果“propertyString”属性,但仅当我搜索本机 OpenCMIS 属性(例如 cmis:name)时,我的查询才有效。任何人都可以帮助我指出某种使用自定义元数据通过查询来排序查询的方法吗?我收到的错误是这样的:
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Ordering is not support for personalizedType:propertyString at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:490) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(AbstractAtomPubService.java:717) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:181) at org.apache.chemistry.opencmis.client.runtime.SessionImpl$6.fetchPage(SessionImpl.java:1000) at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(AbstractIterator.java:131) at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getTotalNumItems(AbstractIterator.java:68) at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterable.getTotalNumItems(AbstractIterable.java:101)
我的“org.apache.chemistry.opencmis.client.api”版本是1.1.0,Java版本是17。
<dependency> <groupId>org.apache.chemistry.opencmis</groupId> <artifactId>chemistry-opencmis-client-impl</artifactId> <version>1.1.0</version> </dependency>
我尝试了几种不同的解决方案,例如: “按个性化类型排序:个性化类型:propertyString”,
“按 F:personalizedType:personalizedType:propertyString”排序,
“按个性化类型排序:@personalizedType:propertyString”,
“按‘@personalizedType:propertyString’排序”
但没有任何效果。在某些情况下,会指出选择器错误。
您需要验证您的 propertyString 是否可排序。检查 Alfresco 自定义内容模型中是否定义为非标记化。