gpt4 book ai didi

jackrabbit - 具有动态日期比较的 JCR SQL2 查询

转载 作者:行者123 更新时间:2023-12-04 23:28:23 25 4
gpt4 key购买 nike

我需要查询 jcr 存储库以查找日期属性(例如 jcr:created)小于特定日期的节点。

使用 SQL2,我像这样检查“jcr:created > date”(工作正常):
SELECT * FROM [nt:base] AS s WHERE s.[jcr:created] > CAST('2012-01-05T00:00:00.000Z' AS DATE)
现在是棘手的部分:

还有一个额外的属性,它声明了必须动态添加到 jcr:created 日期的天数。

假设该属性包含 5(天),那么查询不应检查“jcr:created > date”而是“(jcr:created + 5) > date”。应通过“(jcr:created + 10) > date”检查包含属性值 10 的下一个节点。

是否有任何智能/动态操作数可以做到这一点?由于该属性是特定于节点的,因此我无法将其静态添加到查询中,但它必须读取每个节点的内容。

最佳答案

Jackrabbit 目前不支持这种动态约束。

我相信目前最好的解决方案是使用固定日期约束运行查询,然后自己明确过滤结果。

另一种解决方案是预先计算“jcr:created + extratime”值并将其存储在附加属性中。此类计算可以位于首先创建/更新节点的代码中,也可以将其放置在观察监听器中,这样无论节点如何修改,它都会被触发。

关于jackrabbit - 具有动态日期比较的 JCR SQL2 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8822495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com