【问题标题】:Why Jongo 1.0 removed support for private properties为什么 Jongo 1.0 取消了对私有属性的支持
【发布时间】:2014-07-24 15:07:13
【问题描述】:

最近我从 Jongo 0.4 迁移到 Jongo 1.0,突然开始收到这个异常:

! java.lang.IllegalArgumentException: Unable to set objectid on class: class *Myclass*
! at org.jongo.ReflectiveObjectIdUpdater.updateField(ReflectiveObjectIdUpdater.java:72) ~[jongo-1.0.jar:na]
! at org.jongo.ReflectiveObjectIdUpdater.setObjectId(ReflectiveObjectIdUpdater.java:60) ~[jongo-1.0.jar:na]
! at org.jongo.Insert.preparePojo(Insert.java:71) ~[jongo-1.0.jar:na]
! at org.jongo.Insert.insert(Insert.java:56) ~[jongo-1.0.jar:na]
! at org.jongo.MongoCollection.insert(MongoCollection.java:140) ~[jongo-1.0.jar:na]
! at org.jongo.MongoCollection.insert(MongoCollection.java:132) ~[jongo-1.0.jar:na]
...

这意味着 Jongo 现在无法设置私有字段,而在 0.4 中这不是问题。

这种限制有什么原因吗?

【问题讨论】:

  • 您尝试过全新的 1.1 版本吗?
  • 不,实际上我恢复到了 0.4,因为我对它感到满意。我只是好奇他们为什么要删除这么方便的功能。
  • 我的猜测:这更有可能是一种回归。这就是为什么我建议你尝试 1.1,它应该已经解决了这个问题 ;-)

标签: java migration jongo


【解决方案1】:

Jongo 在 v1.0 中仍然“支持”私有属性

但由于回归,它无法处理私有 id 字段。

这已在 v1.1 中修复:https://github.com/bguerout/jongo/issues/198

如果你有一个 Maven pom.xml,只需更新它:

<dependencies>
  <dependency>
   <groupId>org.jongo</groupId>
   <artifactId>jongo</artifactId>
   <version>1.1</version>
  </dependency>
 ...
</dependencies>

【讨论】:

  • 谢谢 Benoit 和 Yves,1.1 版真的没问题。
猜你喜欢
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 2019-04-17
相关资源
最近更新 更多