gpt4 book ai didi

java - SCD (slowly changing dimension) Type 4/6 - 如何在spring boot app, hibernate envers中实现

转载 作者:行者123 更新时间:2023-12-04 17:23:08 26 4
gpt4 key购买 nike

我正在尝试解决如何为我的应用程序创建“日志”并将它们存储到数据库的问题。

假设我有这个数据库结构:

第一个表:

weatherstation_id |气象站名称 | weatherstation_ip_address

第二张表:

传感器_id |传感器名称 |传感器编号 | weatherstation_id

第三张表:

measurement_id |值(value) |测量日期 | weatherstation_id |传感器_id

从这里我应该能够得到“日志”,所以关于气象站和传感器的测量值和信息!在进行测量时!,所以我需要实现不知何故的历史。

我尝试解决这个问题已经两个多星期了,我发现我可能应该使用类似 SCD 的东西。输入 4 或 6。

我想到的一个选项是 spring-data-envers应该处理历史,但在这里我不知道如何将测量“链接”到修订。

第二种选择是自己写,使用JPA Lifecycle Callbacks并在我的 WeatherStationHistory 的 WeatherStation 实体列表中,在进行任何更新或持久化之前,在其中添加当前 WeatherStation 的副本,然后让测量指向此 WeatherStationHistory。

所以我想知道解决这个问题的最佳方法是什么,以及如何在 spring boot 应用程序中实现它。

我希望我已经清楚地描述了我的问题。如果有任何建议,我将不胜感激。

最佳答案

我认为您应该为 SCD 使用数据库级选项。虽然我不知道如果它在应用程序级别实现是否有任何好处。

关于java - SCD (slowly changing dimension) Type 4/6 - 如何在spring boot app, hibernate envers中实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64993719/

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