我正在尝试解决我应该如何为我的应用程序创建“日志”并将它们存储到数据库的问题。
假设我有这个数据库结构:
第一张表:
weatherstation_id | weatherstation_name | weatherstation_ip_address
第二张表:
sensor_id | sensor_name | sensor_number | weatherstation_id
第三张表:
measurement_id | value | measure_date | weatherstation_id | sensor_id
从这个我应该能够得到“日志”,所以测量值和气象站和传感器的信息!在测量的时间!,所以我需要以某种方式实现历史。
我试图解决这个问题超过两个星期,我发现我可能应该使用SCD类型 4 或 6 之类的东西。
我想到的一个选项是spring-data-envers应该处理历史,但在这里我不知道我应该如何将测量“链接”到修订。
第二种选择是自己编写并使用JPA Lifecycle Callbacks并在 WeatherStationHistory 的 WeatherStation 实体列表中,在任何更新或持久化之前添加当前 WeatherStation 的副本,然后让 Measurement 指向此 WeatherStationHistory。
所以我想知道解决这个问题的最佳方法是什么,以及如何在spring boot应用程序中实现它。
我希望我已经清楚地描述了我的问题。我将不胜感激任何建议。