问题标签 [javers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1119 浏览

javers - JaVers 差异工具。PrettyPrint 工作吗?

建立jb

接着

,但期望漂亮的格式。就像在文档中一样 - http://javers.org/documentation/diff-examples/#compare-valueobjects

我做错了什么?我应该期待文档中显示的漂亮格式还是手动格式化?

0 投票
1 回答
1341 浏览

javers - 无法访问其超类 org.javers.spring.jpa.JaversTransactionalDecorator

使用当前的储户 spring boot starter implementation (v 2.0.2) 时看到以下错误

我的 POM 有

Application.yml 文件有

这是我正在使用的自定义 AuthorProvider...

我也在使用 HikariCP 创建数据源

抛出错误之前的一些启动日志是......

存储库已使用 @JaversSpringDataAuditable 进行注释,并且没有进行其他代码更改以与 Javers 集成。我按照http://javers.org/documentation/spring-boot-integration/中的建议进行了更改,所以如果我在这里遗漏了什么,请告诉我。

更新1:

我进一步研究了这一点,当我们对我们的类路径有以下弹簧依赖时,我发现这个问题正在发生 -

0 投票
1 回答
801 浏览

java - 如何通过 JPA 注释/转换器将 Javers 快照映射到实体

给定代码:

如何让 JPA 使用我的转换器将从 javers 获取的快照转换回应用程序实体对象以获取历史对象列表?

我在谷歌上没有找到我要找的东西。只有一个线程说将来可以从快照中获取对象。对于我正在使用的这种简单对象,可以按照上面介绍的方式完成。但是如何将其合并到代码中,以便将快照用作历史记录。

Javers 将实体的每个保存更改的新快照存储到其自己的表中的数据库中。状态字段/列由 Gson(内部)编码为 json。因此使用 Gson 将其转换回实体可以如下完成。这个概念有效,但不是自动的。您能帮我将 javers 作为开箱即用的历史机制合并到我的代码中吗?

当然,欢迎对实体类和转换器类进行更改,但历史必须由 javers 快照完成,而不是通过引入具有历史状态的新实体并将其作为单独的实体处理来重新发明轮子。

0 投票
1 回答
59 浏览

javers - 有没有办法提交未更改的对象?

我们需要在 Javers 中提交一个实体,即使这个实体没有改变。

我们的目标是让 Javers 像 Git 一样工作,即使文件没有被修改,它也能让你提交文件......

谢谢

0 投票
2 回答
462 浏览

java - 使用 AsyncTask 从 Url 获取图像

我确信这不是一个新问题。不幸的是,在为这项活动争取了 20 多个小时后,我仍然找不到解决方案。你能帮我一把吗?我将非常感激。

嘿,是我的问题。我想将来自不同 url 的图像显示到 girdView 布局。但是,我的代码不起作用,因此屏幕什么也没有显示。你能帮我解决这个问题吗?

下面是我的 MainActivity 类

下面是我的 xml (activity_main) 文件

我也有一个 imageView 文件调用 image_item

0 投票
1 回答
234 浏览

javers - Javers IlegalArguementException

Javers Team,我是 Thomas,我正在使用 Javers 2.0.3,我收到以下错误

看起来它无法处理 NULLS。我正在使用 Javers 来比较两个相同类型的实体,diff = javers.compare(oldEntity,newEntity); 它们在内部定义了许多具有一对一、一对多关系的实体。

我在另一篇 Stackflow 帖子中读到,这个问题在 1.2.1 中得到了解决。

JAVERS 打破上述各自的错误

0 投票
1 回答
2018 浏览

javers - 如何使用 Javers 区分同一实体类但具有不同 ID 的两个对象

来自 Javers.org

每个实体实例都有一个名为 InstanceId 的全局标识符。它由一个类名和一个 ID 值组成。

实体引用的比较策略基于 InstanceId,而实体状态的比较策略是逐个属性。

实体可以包含值对象、实体引用、容器、值和基元。

现在想diff两个实体对象,其实是同一个对象的两个版本,但是javer会直接判断是老对象还是新对象。无法比较它们的价值。

PersonOne(1,“汤姆”,20);
PersonTwo(2,"杰瑞", 18);

有没有办法比较这两个对象?

0 投票
1 回答
850 浏览

java - Javers 审核自定义删除

Javers 以什么方式审核自定义“删除”?使用 spring-boot 集成,例如:

0 投票
1 回答
155 浏览

javers - 如何找回已删除的记录?

我想知道如何检索使用 Javers 审计的已删除记录,因为我知道如何检索版本更改日志,但是当从数据库表中删除记录时,没有 ID 可以检索审计记录。

0 投票
1 回答
571 浏览

javers - Javers 将数据保存在单个表中的潜在可扩展性问题?

我们正在研究存储对象更改的不同替代方案,并发现 JaVers 似乎正是为此目的而构建的工具。

我们已经构建了一个原型(使用 MySQL 进行更改 repo),它运行良好并交付了所承诺的内容。到目前为止,一切都很好。

然而,JaVers 似乎将其所有内部数据存储在 4 个表中。这对于小型数据集来说不是什么大问题,但是如果原始数据模式有非常大的表(每个表有数百万/数十亿条记录)会发生什么?在如此大的表中更新一条记录意味着向 JaVers 审计表中添加一条记录,该记录将非常大(很可能比原始数据库的大小更大)。

从我们之前处理大型审计表的经验来看,我们遇到了诸如inserts开始变慢、查询占用绝对时间等问题。我们也需要非常频繁地取出增量,所以这看起来像是一个定时炸弹。

1)是否可以配置 JaVers,以便将更改存储在单独的表中,每个实体一个 - 类似于

  • foo_global_id, foo_snapshot, foo_commit,foo_commit_property
  • bar_global_id, bar_snapshot, bar_commit,bar_commit_property

如果目前无法实现,添加这样的功能有多难(我们愿意投入时间并提交补丁)?

2)假设我们有

一段时间后,我们决定添加另一个字段

我怀疑如果我们更新一个实例Foo并且bar只更改但保留baz = 0,JaVers 将报告更改说baz=0已添加。JaVers 中是否有任何东西旨在处理数据模型更改并避免此类误报?