0
저는 Modeshape와 modeshape-connector-jdbc-metadata를 사용하고 있습니다. 저장소에 테이블을 나타내는 모든 노드를 가져 오려고합니다. 그 노드는 [mj:catalog]
mixin 유형입니다.modeshape querying mixinTypes
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]
을하지만 결과는 동일하게 유지 :
은 또한 다음 쿼리를 사용하여 쿼리를 시도했다. 내가 뭘 잘못하고있어?도움 주셔서 감사합니다.