2013-02-20 40 views
0

Spring中使用MongoDB最新版本的Java &。從mongodb中讀取不同於集合實際類的類

我希望能夠從存儲類類型A

A級和諾塔是完全一樣的,但有一點不同的集合填充類類型NOTA的:類諾塔的名字,好了,不是A :)

爲參數的緣故,A類看起來像這樣:

public class A { 
    String name; 
    String domain; 
} 

與A系列有看起來像這樣的對象:

{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.A", "name" : "Dan", "domain":"global"} 

由於與此問題無關的原因,我無法讀入A,然後複製到NotA,我必須直接讀取到NotA(或其他某個對象,它是不是 A,然後是NotA,if沒有其他選擇)。

我想我可以讀取一個DBObject,然後手動複製所有的字段,但寧願讓默認的反射機制做它的事情。

我已經將@Document註釋的NotA設置爲@Document(collection =「A」),但這還不夠,我需要其餘的方法。

我猜這是一個簡單的解決方案,我只是想不出來。幫幫我?

回答

0

如果有可能就在你身邊 - 您可以更新的文件直接在蒙戈集合調整_class值:

{ "_id" : "b7990a90-7d95-4879-bb4a-5ec2fd13e262", "_class" : "com.someservice.NotA", "name" : "Dan", "domain":"global"} 
+0

不幸的是,因爲我不希望直接改變數據是不可能的。 – TheZuck 2013-02-20 09:19:37

相關問題