【问题标题】:Array of BigIntegers is saved as string in Spring + MongoBigIntegers 数组在 Spring + Mongo 中保存为字符串
【发布时间】:2014-05-29 15:59:12
【问题描述】:

当我尝试保存具有 BigInteger 数组的对象时,我发现 Spring Data Mongo 将值保存为字符串而不是 ObjectIds。

该对象最初以 ObjectIds 数组存储在 Mongo 中,但在保存时会转换为字符串。

我认为问题在于这是一个数组或列表,而不是直接的 BigInteger。有什么想法吗?

【问题讨论】:

  • 您有机会添加一些示例代码吗?域类是什么样的?您如何与商店互动?

标签: spring mongodb spring-data


【解决方案1】:

我自己找到了解决方案。看来我的 BigInteger[] 应该更改为 ObjectId[] 但没有 @OneToMany 注释。

@OneToMany 注释导致强制转换为字符串。

更好的解决方案是使用@ObjectId 之类的自定义注解,与@DBRef 具有相同的精神,但这不包含在 Spring Data Mongo 中,我还没有设置它的技能。

如果有人愿意提供帮助,我会非常高兴并选择不同的最佳答案。

【讨论】:

  • 这没有多大意义,实际上?您指的是哪个 @OneToMany 注释?
  • 我原始代码中的字段是一个 BigInteger[],上面带有注释 @OnyToMany。我没有太注意注释。在我放弃它并开始使用 ObjectId[] 之后,我的问题就解决了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 2021-04-20
  • 2015-08-20
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多