【问题标题】:DB model strategy to override field value覆盖字段值的数据库模型策略
【发布时间】:2016-12-22 15:43:54
【问题描述】:

我们必须将一些动态配置以 JSON 格式存储在数据库中。会有一些默认配置,并且可以按帐户覆盖。有人可以帮我制定存储此类数据的策略吗?

我想出了以下方法。如果 accountConfig 为空,则查看 defaultConfig。

DefaultConfig 表

id, name,   config
1   name1   {x:12, y: 13}
2   name2   {y:10, z:100}

AccountConfig 表

id, accountId, defaultConfigId, accountConfig, active
1   1000       1                null           false
2   1000       2                {y:11, z:111}   true

我应该继承还是嵌入实体?还是别的什么?

【问题讨论】:

    标签: java database jpa database-design


    【解决方案1】:

    您可能应该只有一个 AccountConfiguration 表和一个 Configuration 表。

    AccountConfiguration
    --------------------
    id
    accountid
    configurationid
    
    Configuration
    -------------
    configurationid
    name
    configuration
    

    您的默认配置值将是配置表的前几行,而被覆盖的配置值将是后几行。如果您需要识别被覆盖的配置,您可以在配置表中添加一个布尔列。

    这样,您总是可以通过连接来获取配置。

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 2023-03-10
      • 2011-05-11
      • 2011-06-19
      • 2013-07-11
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 2021-11-16
      相关资源
      最近更新 更多