我正在尝试找出通过其名称在存储库中获取Node的最佳方法。我可以确保没有2个节点在存储库中具有相同的名称。
我可以编写一个递归代码来按名称获取节点,但是如果我的节点是root用户,那么会降低系统性能 - >等级1000 - >等级1k
如果Adobe CQ5(CRX)提供任何api来做同样的事情吗?
答案 0 :(得分:4)
使用JCR查询:
String query = "SELECT * FROM [nt:base] AS s WHERE NAME(s) = '%s'";
resourceResolver.findResources(String.format(query, "node-name"), "JCR-SQL2");