Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有Hibernate的版本化实体,每个版本都有一个新行_Hibernate_Jpa_Orm_Spring Data Jpa - Fatal编程技术网

具有Hibernate的版本化实体,每个版本都有一个新行

具有Hibernate的版本化实体,每个版本都有一个新行,hibernate,jpa,orm,spring-data-jpa,Hibernate,Jpa,Orm,Spring Data Jpa,我想用Hibernate实现以下版本控制策略:对于实体的每次更新,Hibernate不应该更新现有行,而是插入一个具有相同id的新行,但版本列增加1 因此,数据库中的主键是由实体id和版本号组成的组合键 据我所知,在属性上添加@version注释会在每次保存时增加此属性,但仍会更新现有行,并且似乎没有配置选项来获得我想要的行为 还有一个,但它不适用于我的用例 背景: 我想实现一个简单的审查工作流程。用户可以更新实体,但只有在审核后才会向公众显示。因此,我可能会有一个“reviewed”布尔列,并

我想用Hibernate实现以下版本控制策略:对于实体的每次更新,Hibernate不应该更新现有行,而是插入一个具有相同id的新行,但版本列增加1

因此,数据库中的主键是由实体id和版本号组成的组合键

据我所知,在属性上添加
@version
注释会在每次保存时增加此属性,但仍会更新现有行,并且似乎没有配置选项来获得我想要的行为

还有一个,但它不适用于我的用例

背景:
我想实现一个简单的审查工作流程。用户可以更新实体,但只有在审核后才会向公众显示。因此,我可能会有一个“reviewed”布尔列,并显示具有最高版本号的实体版本。

抱歉。我的第一段错了。我在想写行的地方写了一篇专栏文章。如果没有人知道这样一个特性,我认为您必须将整个逻辑作为应用程序的一部分来编写。