Я использую Modeshape и modeshape-connector-jdbc-metadata. Я хочу получить все узлы, представляющие таблицы в хранилище. Эти узлы имеют тип миксина [mj:catalog]
.
Я запрашиваю хранилище, используя следующий код:
public List getDatabases() throws RepositoryException {
// Obtain the query manager for the session ...
QueryManager queryManager = dbSession.getWorkspace().getQueryManager();
// Create a query object ...
Query query = queryManager.createQuery("SELECT * FROM [mj:table]"
, Query.JCR_SQL2);
// Execute the query and get the results ...
QueryResult result = query.execute();
// Iterate over the nodes in the results ...
NodeIterator nodeIter = result.getNodes();
List stringResult = new ArrayList();
while (nodeIter.hasNext()) {
stringResult.add(nodeIter.nextNode().getName());
}
return stringResult;
}
Но он всегда возвращает пустой список.
Я также попытался запросить, используя следующие запросы:
SELECT unst.*, tbl.* FROM [nt:unstructured] AS unst
JOIN [mj:table] AS tbl ON ISSAMENODE(unst,tbl)
SELECT * FROM [nt:unstructured] WHERE [jcr:mixinTypes] = [mj:table]
Но результат остается прежним. Что я делаю неправильно?
Спасибо за любую помощь.