JCR中MixinTypes的使用

3
我正在尝试理解JCR中MixinTypes的概念。我读到的是“Mixin节点类型通常指定与添加到节点的功能相关的附加属性或子节点”,但这似乎有些不清楚。我正在寻找简单的定义,以便我能够理解。就像我们有节点类型,它有超类型,后者属于mixin类型。如果我从中删除mixin类型属性,会发生什么情况呢?
或者任何其他的例子。
谢谢。

1
可能是一个重复问题:jcr:primaryType和jcr:mixinTypes有什么区别? - Bertrand Delacretaz
嗨,刚看了一下,混合是类似于接口的东西,我们可以在一个主类型中拥有多个混合类型。在这种情况下,我们在主类型中继承了多个混合的属性。那么如果我创建两个主类型节点,第三个主类型将继承最后两个以继承它们的属性。只想得到一个例子,在其中强制仅在主类型中应用混合。谢谢。 - Vivek Dhiman
1个回答

3
如果您阅读文档,应该会很清楚。
“每个节点都有一个声明的主节点类型和零个或多个混合节点类型。主节点类型通常用于定义节点的核心特性,而混合节点类型用于添加附加特性,通常与特定存储库功能或元数据相关。”
一种看待这个问题的方式是,并非所有JCR实现都具有所有功能,因此并不是所有混合类型都能起作用。一些混合类型会暴露出隐藏属性。Jackrabbit为每个节点提供唯一标识符(jcr:uuid),但如果您尝试列出节点属性,则不会显示,除非您添加mix:referenceable混合类型。其他混合类型告诉JCR使用哪些功能,例如版本控制。如果您的JCR支持它,则必须添加mix:versionable或mix:simpleVersionable以告诉它需要对哪些节点进行版本控制。

请您能否对此进行解释 - https://stackoverflow.com/questions/46253975/node-identifier-of-copied-node-in-jackrabbit-not-found-while-deleting - Gandhi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接