【问题标题】:How to identify the table name of the folder (from folder view in Alfresco) to join with cmis:document如何识别文件夹的表名(来自 Alfresco 中的文件夹视图)以加入 cmis:document
【发布时间】:2019-04-18 20:49:50
【问题描述】:

如何使用 CMIS 查询语言编写查询连接。下面给出的是来自现有代码的查询。存储库中的文件夹是“Client”,而在代码中,该文件夹的表名是 clientDocument:info。它加入 cmis:objectId。感谢您帮助我澄清我的问题

例子:

SELECT
  d.*, g.* 
  FROM
  cmis:document d JOIN clientDocument:info g
  ON
  d.cmis:objectId=g.cmis:objectId

【问题讨论】:

    标签: java alfresco cmis apache-chemistry


    【解决方案1】:

    如果我理解正确的话:

    • 方面像表格一样“行动”
    • 属性像列一样“起作用”

    因此,如果您有一个包含属性的自定义方面,那么您就是在“选择或加入”方面(表),并在 where 子句中使用属性(列)。

    【讨论】:

    • 李斯塔,谢谢你的回答。是的。这就是我要找的。有什么方法可以识别 Alfresco 存储库或工作台中的方面,或者我需要查询以识别现有方面吗?
    • 这应该返回一个包含所有模型的 JSON 响应。 localhost:8080/alfresco/service/api/dictionary
    • 我能够下载 JSON 并查看各个方面。这很有帮助,所以我非常感谢您的回复。您能否指出一个包含方面和属性信息的良好链接?我怎么知道加入一个属性,例如 - 从上面的例子加入 ObjectId "d.cmis:objectId=g.cmis:objectId"
    • 另外,如果我使用文件夹名称查询而不加入方面,它仍然会正确地从文件夹中获取文档,那为什么要加入?示例 SELECT d.* FROM cmis:document d WHERE IN_FOLDER(d,?) ,这将返回所请求文件夹下的文档。抱歉,这听起来可能是个愚蠢的问题,但我正在尝试了解方面加入的相关性
    • 是的,但是要使用属性进行查询 - 您必须“加入”它的方面。就像在 SQL 中一样,你不能只使用一个列,你必须先“加入”一个包含它的表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 2021-03-29
    • 2013-12-13
    相关资源
    最近更新 更多