查询结果中不包含路径 (row.getValue)
Path not included in Queryresult (row.getValue)
我们仍在使用 Jackrabbit 2 (2.18.0),我在查询结果中加载 "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 :-(
到目前为止,我们迭代了找到的节点,但这会导致额外的数据库查询并且速度很慢。所以我们试图提高我们的性能并在查询中获取所有必要的数据。
谢谢!
jcr:path 不是一个节点 属性,所以这不应该做你想做的。那就是说,你为什么不使用 https://docs.adobe.com/docs/en/spec/javax.jcr/javadocs/jcr-2.0/javax/jcr/query/Row.html#getPath()?
我们仍在使用 Jackrabbit 2 (2.18.0),我在查询结果中加载 "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 :-(
到目前为止,我们迭代了找到的节点,但这会导致额外的数据库查询并且速度很慢。所以我们试图提高我们的性能并在查询中获取所有必要的数据。
谢谢!
jcr:path 不是一个节点 属性,所以这不应该做你想做的。那就是说,你为什么不使用 https://docs.adobe.com/docs/en/spec/javax.jcr/javadocs/jcr-2.0/javax/jcr/query/Row.html#getPath()?