java Spring数据Rest:跟踪历史表中的数据更改
我想使用Spring data Rest使用历史记录表跟踪数据的更改。我的预期行为是,对于更改数据的每个事务,一个条目将自动添加到我的历史记录表中。我不确定,但我认为在使用服务时,让事务跨越多个请求是无效的
我目前有两种选择:
1)对数据使用数据库触发器——我在这里看到的缺点是,目前我们的大多数操作都是通过Java完成的,我看不到任何通过Java实现的方法
2)使用带注释的事件处理程序——我们将为每个表的每个事件创建事件处理程序,以跟踪历史,我倾向于这样做,但我不确定这是否正确
这两个选项中哪一个更好?还有其他选择吗
# 1 楼答案
使用Spring数据Rest,您可以选择使用events进行任何预处理和后处理。我相信原始事务边界适用于这些事件中的任何数据库操作
# 2 楼答案
我知道几年后我会回答这个问题,但这里有另一种方法:
创建RepositoryEventHandler
# 3 楼答案
使用Envers official site审计业务