Morphia - 如果特定类型的属性,如何忽略加载属性?

时间:2016-04-14 10:24:16

标签: java mongodb morphia odm

我在MongoDB集合中有一个遗留属性,它存储为布尔值,但该属性已经发展并且它已成为一个对象。

Morphia有没有办法在布尔值时忽略加载这些属性?我只是想要检索它们,如果它们是较新版本(对象),如果它们是布尔值我只想忽略它们。

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

  

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

有什么想法?谢谢

1 个答案:

答案 0 :(得分:0)

您可以对方法使用@PreLoad注释,如果它是布尔值,则从DBObject中删除该字段。然后,DBObject的后续处理应该正确反序列化。您可以看到示例here