2

我正在使用 Jackrabbit,我有以下问题:
我有一个父节点 P 和一个子节点 C。P 和 C 都是可版本化的。在我的代码中的某个时刻,我需要从 P 的先前版本 V 中获取数据,所以我使用getVersionHistory().getVersion(V).getNode("jcr:frozennode") 为了得到我需要的版本。然而,在这个版本中,节点 P 的子节点不再是节点 C,而是对 C 的版本历史的引用,因此我不知道 P 的版本是 V 时 C 所处的确切状态。所以问题是,有没有办法确定哪些版本的 C 对应于已检索到的 PI 版本(“对应”我的意思是同时处于活动状态)。我知道,由于 P 和 C 都是可版本化的,因此可以独立签出/签入,因此可能没有一个版本的 C 对应于 P 的版本,所以我希望得到一个 C 的子集版本历史记录,其中包含 C 在版本 V 中经历的版本。
谢谢你,
克里斯蒂娜

4

1 回答 1

0

您可以使用添加到所有节点的时间戳来确定在给定时间关联的版本。

编辑:“正确”的方法可能是按版本检查完整的子树。还要检查这些链接:

http://www.day.com/specs/jcr/2.0/3_Repository_Model.html#VersionableState

或本教程:http: //jtoee.com/jsr-170/the_jcr_primer/5/

CND 文档:http: //jackrabbit.apache.org/node-type-notation.html

于 2010-03-09T16:44:32.667 回答