在 Java 的 JCR-SQL2 中使用 IN 子句

Posted

技术标签:

【中文标题】在 Java 的 JCR-SQL2 中使用 IN 子句【英文标题】:Using the IN clause with Java's JCR-SQL2 【发布时间】:2016-04-21 12:51:36 【问题描述】:

我正在尝试使用带有 JCR-SQL2 的 Magnolia 的“IN”子句:

SELECT * FROM [mgnl:page]
WHERE [mgnl:template] IN (
    "context:pages/template-type-1", 
    "context:pages/template-type-2"
)

但是我收到了这个错误:

SELECT * FROM [mgnl:page]
WHERE [mgnl:template] IN(*)("context:pages/template-type-1","context:pages/template-type-2");
expected: ., =, <>, <, >, <=, >=, LIKE, IS, NOT

这是因为我的 JCR 实现不支持 IN 子句吗?

【问题讨论】:

【参考方案1】:

我对它进行了快速研究,结果发现 JCR 规范中的 WHERE IN 子句没有列出,并且它可能带有一些扩展。

http://download.oracle.com/otndocs/jcp/content_repository-2.0-fr-oth-JSpec/

所以,您已经回答自己当前使用的版本不支持它。

干杯,

【讨论】:

以上是关于在 Java 的 JCR-SQL2 中使用 IN 子句的主要内容,如果未能解决你的问题,请参考以下文章

JCR-SQL2过滤查询以仅获取空节点

Magnolia JCR-SQL2 按日期排序

JCR 长耳兔分页

java 定义spring bean的init和destroy方法(1.使用PostConstruct和PreDestroy注释2.在web.xml中定义3.实现In

向 ACL 添加限制会在 Jackrabbit Oak 中的查询产生空结果

在 Java 或 Groovy 中使用“IN”的 SQL 查询 [重复]