我有一个模型类
public class MyClass extends ReflectionDBObject {
private List<NiceAttribute> attributes;
...
}
public class NiceAttribute extends ReflectionDBObject {
...
}
Run Code Online (Sandbox Code Playgroud)
我以类型安全的方式创建它,比如
List<NiceAttribute> attrs = new ArrayList<NiceAttribute>();
attrs.add(new NiceAttribute());
MyClass myClass = new MyClass();
myClass.setAttributes(attrs);
Run Code Online (Sandbox Code Playgroud)
然后将其保存到mongo,并使用类似的代码检索
DBCollection col = ...;
col.setObjectClass(MyClass.class)
MyClass foundObject = (MyClass)col.findOne();
Run Code Online (Sandbox Code Playgroud)
但问题是,foundObject的attributes变成了一个列表BasicDBObject.看起来驱动程序不能(或不想)检测列表项类型.这是司机限制,还是我错过了什么?这个问题的优雅解决方案是什么?
顺便说一句,我知道Morphia等.也许它解决了这个问题.但是我的项目很小,而且我不想让具有更多抽象层的东西复杂化.
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |