当前位置:  开发笔记 > 编程语言 > 正文

如何从ReflectionDBObject获取正确类型的List

如何解决《如何从ReflectionDBObject获取正确类型的List》经验,为你挑选了0个好方法。

我有一个模型类

public class MyClass extends ReflectionDBObject {
    private List attributes;    
    ...
}

public class NiceAttribute extends ReflectionDBObject {
    ...
}

我以类型安全的方式创建它,比如

List attrs = new ArrayList();
attrs.add(new NiceAttribute());
MyClass myClass = new MyClass();
myClass.setAttributes(attrs);

然后将其保存到mongo,并使用类似的代码检索

DBCollection col = ...;
col.setObjectClass(MyClass.class)
MyClass foundObject = (MyClass)col.findOne();

但问题是,foundObjectattributes变成了一个列表BasicDBObject.看起来驱动程序不能(或不想)检测列表项类型.这是司机限制,还是我错过了什么?这个问题的优雅解决方案是什么?

顺便说一句,我知道Morphia等.也许它解决了这个问题.但是我的项目很小,而且我不想让具有更多抽象层的东西复杂化.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有