Java 从mongodb读取与集合实际类不同的类
我使用的是最新版本的MongoDB,在Java和Spring中 我希望能够从存储类类型a的集合中填充NotA类型的类 类A和类NotA完全相同,但有一个区别:类NotA的名称是,嗯,不是A:) 为了便于论证,类A看起来是这样的:Java 从mongodb读取与集合实际类不同的类,java,class,mongodb,collections,Java,Class,Mongodb,Collections,我使用的是最新版本的MongoDB,在Java和Spring中 我希望能够从存储类类型a的集合中填充NotA类型的类 类A和类NotA完全相同,但有一个区别:类NotA的名称是,嗯,不是A:) 为了便于论证,类A看起来是这样的: public class A { String name; String domain; } 集合中的对象如下所示: { "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.s
public class A {
String name;
String domain;
}
集合中的对象如下所示:
{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.A", "name" : "Dan", "domain":"global"}
由于与这个问题无关的原因,我无法读入A然后复制到NotA,我必须直接读入NotA(或其他不在中间的对象,如果没有其他选择,然后读入NotA)
我想我可以读取一个DBObject,然后手动复制所有字段,但更愿意让默认的反射机制完成它的工作
我已经将NotA的@Document注释设置为@Document(collection=“A”),但这还不够,我需要剩下的部分
我猜这个问题有一个简单的解决办法,我就是想不出来。帮助?如果您有可能-您可以直接在Mongo collection中更新文档以调整
\u class
值:
{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.NotA", "name" : "Dan", "domain":"global"}
不幸的是,这是不可能的,因为我不想直接修改数据。