Java 从mongodb读取与集合实际类不同的类

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

我使用的是最新版本的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.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"}

不幸的是,这是不可能的,因为我不想直接修改数据。