【问题标题】:db4o to preserve identity of objectsdb4o 保留对象的身份
【发布时间】:2013-05-17 23:46:32
【问题描述】:

有没有办法在 db4o 中保留对象身份。

假设我将 BigDecimal 存储在嵌入式 db4o 中。

当我阅读它两次时,我得到两个具有相同值的不同对象(这很明显)。

是否有任何设置强制 db4o 缓存查询结果,以便两个查询返回对同一实例的引用,还是我必须自己做?

【问题讨论】:

  • 你找到答案了吗?
  • 不,我没有。我将存储机制从嵌入式 db4o 更改为 XStrem。

标签: java db4o


【解决方案1】:

根据我的经验,在同一个 ObjectContainer 上运行两次相同的查询应该每次都返回相同(相同)的对象。

如果您需要对象的身份,则不应在查询之间关闭并重新打开 ObjectContainer。

【讨论】:

    【解决方案2】:

    Db4o 确实在内部使用IDs and UUIDs,如果需要,您可以访问它们。另外值得一读的是this

    【讨论】:

    【解决方案3】:

    您可以使用它的 UUID 为您的每个对象创建一个 ID,我的意思是为该对象添加一个属性 ID 并为其赋予 UUID 值并存储它,要更新一个对象,您可以通过该 ID 检索它并更新它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2019-04-06
      • 2016-06-23
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多