【问题标题】:extending datamodel in Microstream在 Microstream 中扩展数据模型
【发布时间】:2021-12-19 13:47:33
【问题描述】:

我想用新的数据对象扩展 Microstream 中的现有数据模型。例如。我有客户,在 Microstream 中有数据记录,我想添加供应商,他们有自己的数据结构和数据。由于数据库不是空的,我无法像没有数据一样开始,但是将供应商列表添加到 dataroot 似乎不起作用。 Microstream 说启动时列表为空,这是正确的,但我无法将新对象添加到空列表中。有人可以解释一下如何将供应商添加到我的“数据库”吗?

【问题讨论】:

    标签: microstream


    【解决方案1】:

    您只需要添加此列表并将此对象与现有列表再次存储。

    【讨论】:

      【解决方案2】:

      我收到了来自 fh-ms @Microstream 的回复:

      嗨,您是对的,供应商列表不存在于存储中,因此该字段将使用其默认值(null)进行初始化。 将初始值引入新字段有多种可能性。 一种相当复杂的方法是实现 Legacy Type Handler。 一个更简单的方法是在您的 Customer 类型中进行延迟初始化:

      public List<Vendor> getVendors()
      {
          if(this.vendors == null)
          {
              this.vendors = new ArrayList<>()
          }
          return this.vendors;
      }
      

      这行得通!

      【讨论】:

        猜你喜欢
        • 2012-09-09
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        • 1970-01-01
        • 2020-04-06
        • 2012-07-29
        • 2012-04-02
        • 2019-02-14
        相关资源
        最近更新 更多