如何在Spring Boot应用程序中实现快照系统?

时间:2018-08-03 23:13:14

标签: spring-boot spring-data-jpa implementation snapshot

正如我提到的,我想为我的Web应用程序实现备份/快照功能。

关于细节,想象每个用户有几个项目,这些项目有几个组件,还有几个子组件。这些是我要与用户分开备份的实体。

我要实现的目标是,用户可以将当前状态另存为快照,以后如果他不喜欢新配置,可以轻松地返回到保存状态,并且可以有多个快照。这些快照必须是只读的。

我要的是设计架构或样式或任何想法来实施。这就是为什么我没有将实体放在这里的原因。

谢谢!

1 个答案:

答案 0 :(得分:1)

我在一个项目中有一些类似的版本控制,通过简单地引入另一个实体在服务中进行管理。在您的情况下,这将是ProjectVersion,而Project包含这些版本的列表(OneToMany),以及与一个称为ProjectVersion的{​​{1}}的ManyToOne(或OneToOne)关系。 。 master本身没有更多字段。

几天前,我偶然发现了来自Java持久性API的@Version(不是春季版本),该批注应有助于在更新过程中自动增加和管理实体中的版本值。但是我还没有亲自测试过。