当前位置: 首页 > 知识库问答 >
问题:

是否可以链接不同的javers提交并使用深度阴影范围或任何其他方式将它们一起获取?

湛光华
2023-03-14

我在Javers中寻找一个特性,在创建快照时,将其与以前创建的其他快照链接起来。

我查看了阴影的提交深度范围,但它只获取具有相同提交id的快照。

我想要这样的东西:

实体员工与实体地址链接为oneToOne。我保存了一个地址,其中存储了带有提交c1的地址快照A1。现在,我保存了一个链接到该地址的员工,该地址使用提交c2存储员工快照E1。

我无法同时获取这两个快照A1和E1,因为它们处于不同的提交中(c1和c2)。

有没有可能通过当前的Javer获得这些信息,或者我们需要为此添加一个功能,或者这是一个过度杀戮?

功能可以是这样的:

如果我用一个新范围(可能类似于链接的深度范围)查询员工的阴影(例如byInstanceId),它应该使用commit deep提供员工的所有阴影,加上所有链接的阴影,在这种情况下,快照E1和A1

通过这种方式,我们可以跟踪员工在历史上某个时刻的地址。

共有1个答案

尹俊雅
2023-03-14

您可以使用阴影范围。

https://javers.org/documentation/jql-examples/#query-for-shadows

有四个范围。范围越宽,加载到结果图中的对象阴影越多(执行的数据库查询越多)。范围在ShadowScope枚举中定义。

  • 浅-默认范围-阴影仅从主JQL查询中直接选择的快照创建
  • 子值对象-JaVers加载选定实体拥有的所有子值对象。自3.7.5以来,该范围隐式地为所有阴影查询启用,并且不能禁用
  • 提交深度阴影是从主查询涉及的提交中保存的所有快照创建的
  • Deep-JaVers尝试在(可能)加载所有对象的情况下恢复完整的对象图
 类似资料:
  • 问题内容: 这是来自GOPL的示例-“表达式x [i]和x +’A’-‘a’分别引用外部块中x的声明;我们稍后将对此进行解释。” 解释永远不会到来。为什么x [i]引用外部范围中的x?只要在内部块中重新声明x,它就应该在外部块中遮盖x。为什么这样做? http://play.golang.org/p/NQxfkTeGzA 问题答案: 运算符创建一个新变量,并为其分配右侧值。 在for循环的第一个迭

  • 问题内容: 通常在Gulp中任务看起来像这样: 是否可以将命令行标志传递给gulp(这不是任务),并使其有条件地运行任务?例如 然后在我的gulpfile.js中: 问题答案: Gulp对此不提供任何实用程序,但是您可以使用许多命令args解析器之一。我喜欢。应该: 您还可以将其与有条件地传输流结合起来,这对于开发与生产产品非常有用: 并使用或致电。

  • 通常在大口大口的任务看起来像这样: 是否可以将命令行标志传递给gulp(这不是任务)并让它基于此有条件地运行任务?例如 然后在我的gulpfile.js:

  • 问题内容: 我正在做一个小实验,尝试为嵌套div替换背景颜色。 这是我打算实现的(没有内联样式): 我觉得我一定缺少明显的东西!我尝试过,但这似乎仅适用于一个级别。 这是针对生成div的实验,因此解决方案需要是无止境的(不是沿着div div div div div = white的界线)。我知道使用JavaScript非常简单,只需 寻找纯CSS解决方案即可 。 问题答案: 正如Lister先生

  • 问题内容: JavaVM * javaVM = NULL; JNIEnv * jniEnv = NULL; ( createJavaVM)(&javaVM,(void * )&jniEnv,&javaVMInitArgs) 其中javaVM 和jniEnv 是全局变量 问题答案: 是否可以将JavaVM *保存为全局变量并在其他地方使用它? 是。 是否可以将JNIEnv *保存为全局变量并在其他地

  • 我遵循了https://developer.android.com/training/app-indexing/deep-linking.html上的insttructions,但当我想通过触发意图时: 我只是得到 我犯了什么明显的错误吗?