gpt4 book ai didi

hibernate - 将 Envers 添加到现有数据库

转载 作者:行者123 更新时间:2023-12-04 12:41:47 25 4
gpt4 key购买 nike

我在生产中有一个基于 Hibernate 的应用程序,它有一个大型数据库。我需要为这个应用程序中的两个实体(两个表)添加审计,我决定使用 Envers。

对于每个 INSERT、UPDATE 或 DELETE,Envers 都会向实体的审计表中添加一条新记录。

如果我从应用程序一开始就有 Envers 支持,审计表将在实体创建时填充 (INSERT)。

Envers 文档非常薄,没有提到任何关于将 Envers 添加到现有应用程序的内容。

如果我只是添加 Envers 支持并创建相应的审计表,它们将开始为空,因此当我更新现有实体时,Envers 将向审计表添加一条记录新值的记录,但我会丢失以前的值。

我应该如何将 Envers 支持添加到具有现有数据库的应用程序中?

最佳答案

目前没有内置的解决方案。

“正确”的方法是编写一个 SQL 脚本(或手动创建)一个“0”修订,以及为每个现有实体插入绑定(bind)到该修订的审计记录。

实际上,这是一个很常见的功能,所以如果你愿意贡献,那将是非常受欢迎的!

关于hibernate - 将 Envers 添加到现有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com