我正在使用 Jackrabbit/JCR 2.0。
想象以下场景:我添加一个节点,然后我对其进行签出,编辑一些属性并进行签入。然后我再做一次。
接下来,我可以在版本历史记录中看到创建了 1.0 和 1.1 版本。我怎样才能让它总是增加 1,例如 1,2,3... 等等?
另外,如果我有 Version 类型的节点,如何访问实际的版本化节点(包含我的数据的节点)?
以及如何添加和获取其他一些与版本相关的属性,例如版本的评论或作者(签入的用户)?
我正在使用 Jackrabbit/JCR 2.0。
想象以下场景:我添加一个节点,然后我对其进行签出,编辑一些属性并进行签入。然后我再做一次。
接下来,我可以在版本历史记录中看到创建了 1.0 和 1.1 版本。我怎样才能让它总是增加 1,例如 1,2,3... 等等?
另外,如果我有 Version 类型的节点,如何访问实际的版本化节点(包含我的数据的节点)?
以及如何添加和获取其他一些与版本相关的属性,例如版本的评论或作者(签入的用户)?
您必须使用自己的版本号属性,以便您可以随意增加它(特别是如果您不是处于简单版本可控制模式)。要访问历史版本的历史和属性,您必须使用 VersionHisoty 并使用如下代码获取版本节点:
VersionHistory history = session.getWorkspace().getVersionManager().getVersionHistory("/my/node/path");
// To iterate over all versions
VersionIterator versions = history.getAllVersions();
while (versions.hasNext()) {
Version version = versions.nextVersion();
}
// Obtain version per name
Version mySpecificVersion = history.getVersion("myVersion");
//Obtain version per label
Version labelisedVersion = history.getVersionByLabel("myLabel");
String myVersionPropertyValue = labelisedVersion.getFrozenNode().getProperty("myProperty").getString();