我正在努力解决我应该如何创建"日志";用于我的应用程序,并将它们存储到数据库中。
假设我有这样的数据库结构:
第一张表:
weatherstation_id | weatherstation_name | weatherstation_ip_address
第二张表:
sensor_id | sensor_name | sensor_number | weatherstation_id
第三张表:
measurement_id | value | measure_date | weatherstation_id | sensor_id
从中我应该能够得到";log";所以测量值和有关气象站和传感器的信息!测量时,所以我需要以某种方式实现历史。
两个多星期以来,我一直在努力解决这个问题,我发现我可能应该选择SCD 4型或6型。
我想到的一个选项是spring数据envers,它应该处理历史,但在这里我不知道我应该如何";链接";对修订的度量。
第二种选择是我自己写,使用JPA生命周期回调,在我的WeatherStation实体列表中有WeatherStationHistory,在任何更新或持久化之前,在那里添加当前WeatherStation的副本,然后让Measurement指向此WeatherStation History。
所以我想知道的是,解决这个问题的最佳方法是什么,以及如何在spring引导应用程序中实现它。
我希望我已经清楚地描述了我的问题。如有任何建议,我将不胜感激。
我认为应该使用SCD的数据库级别选项。尽管我不知道如果在应用程序级别实现它是否有任何好处。