我们仍在使用 Jackrabbit 2 (2.18.0),我在 Query-Result 中加载“jcr:path”时遇到问题。
在此示例中,我们有一个自定义节点“org:permission”,其自定义属性为“org:permissionHolderIds”。
自定义属性将填充找到的行中的值。
String queryString = "SELECT [jcr:path], [org:permissionHolderIds] FROM [org:permission]";
QueryManager queryManager = session.getWorkspace().getQueryManager();
Query query = queryManager.createQuery(queryString, Query.JCR_SQL2);
QueryResult queryResult = query.execute();
RowIterator rows = queryResult.getRows();
Row r = rows.nextRow();
String holder= r.getValue("org:permissionHolderIds").getString();
// is filled properly
String path = r.getValue("jcr:path").getString();
// path is empty all the time :-(
到目前为止,我们迭代了找到的节点,但这会导致额外的数据库查询并且速度很慢。所以我们试图提高我们的性能并在查询中获取所有必要的数据。
谢谢!