我在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]
有什么想法?谢谢
答案 0 :(得分:0)
您可以对方法使用@PreLoad
注释,如果它是布尔值,则从DBObject
中删除该字段。然后,DBObject
的后续处理应该正确反序列化。您可以看到示例here