Morphia - 如果属性属于某种类型,如何忽略加载?



我在MongoDB集合中有一个遗留属性,它存储为布尔值,但该属性已经进化,它变成了Object。

Morphia中有没有一种方法可以在这些属性是布尔值时忽略加载这些属性?如果它们是较新版本(Object),我只想检索它们,如果它们是布尔值,我只希望忽略它们。

当我尝试查找()一个属性为布尔值的文档时,我得到:

java.lang.ClassCastException:java.lang.Boolean不能强制转换为com.mongodb.DBObject!在org.mongodb.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:162)~[morphia-1.0.1.jar:na]

有什么想法吗?感谢

您可以在方法上使用@PreLoad注释,然后从DBObject中删除该字段(如果它是布尔值)。然后DBObject的后续处理应该正确地反序列化。您可以在这里看到一个示例

相关内容

  • 没有找到相关文章

最新更新