在我的Spring / JPA / Hibernate应用程序中,我需要在列级别存储数据库中的所有历史更改。
例如,我有一个表格,users
包含以下列:id
,name
,email
,address
对于历史更改,我将介绍一个新的专用表格,让我们说historical_changes
包含以下字段:id
,table_name
,column_name
,previous_value
,new_value
.. create/update_date
和user_id
当有人在users
表中插入/更新记录时,我必须向historical_changes
添加一组包含受影响列的新记录,例如users.name
和users.email
必须以下列方式记录更改:
1, 'users', 'name', 'old name', 'new name' ...
2, 'users', 'email', 'old@email.com', 'new@email.com' ...
现在我正在寻找一种自动化此过程的最佳方法。我知道Spring Data支持Auditing feature,但找不到允许我实现所述情况的功能。
请告诉我如何使用Spring / JPA / Hibernate实现所描述的historical changes
功能,或者可能与其他第三方lib一起使用。