我已阅读参考指南和论坛,寻找使用JCR获取存储在分隔(CSV)文件中的数据的方法,但尚未找到解决方案。我已经读过可以访问基础数据和元数据,我只是不知道如何。
我查看了Modeshape论坛上的“初学者指南”,并修改了配置以使用分隔的文本序列器。然后我使用与论坛中相同的代码将csv文件添加到repo中。
当我使用select * from [nt:file]
查询回购时,我没有获得任何内容,只有nt:file
元数据。当我查询[jcr:content]
和[jcr:data]
时,我也会这样做。
所以我的问题是,如果CSV文件中的数据存储在存储库中,我该如何查询?
答案 0 :(得分:1)
假设排序成功,输出结构应与定义here的结构类似。
要查询此内容,一种可能性是构建&执行JCR_SQL2查询,如下所示:
String expr = "SELECT * FROM [text:column] WHERE [text:data] LIKE 'somestring'";
Query query = session.getWorkspace().getQueryManager().createQuery(expr, Query.JCR_SQL2);
QueryResult result = query.execute();
RowIterator iter = result.getRows();
while (iter.hasNext()) {
//your code
}
查询可以是您需要的任何内容。有关详细信息,请查看ModeShape's documentation。
注意:此答案最初是以response的形式发布在ModeShape论坛的同一问题上。