Java JCR:父节点和子节点版本之间的对应关系

时间:2010-03-09 15:09:50

标签: java jackrabbit jcr

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

1 个答案:

答案 0 :(得分: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