2017-09-14 50 views
0

我有這樣的代碼:失敗使用帶有參數的構造函數NO_CONSTRUCTOR實例爲java.util.Set

@NoArgsConstructor 
public class localizedInformations implements Serializable { 

    @Getter 
    @JsonProperty("infos") 
    private Map<String, Set<Info>> localizedInfos = new HashMap<>(); 
} 

@Data 
@NoArgsConstructor 
@AllArgsConstructor 
@Builder 
public class TechnicalInfo implements Serializable { 

    private static final long serialVersionUID = -8926217088092761683L; 

    private String label; 

    private List<String> values; 
} 

。在我執行某些時候,當我做一個findAll蒙戈操作,我得到這個錯誤:

Failed to instantiate java.util.Set using constructor NO_CONSTRUCTOR with arguments 

你能看到問題在哪裏嗎?

謝謝!

+0

你可以添加示例文件的帖子?嘗試找到一個來確認它正在爲單個文檔工作。由於文檔字段類型不與pojo字段類型對齊,很可能spring mongo無法將文檔映射到pojo。 – Veeram

回答

1

當您從數據庫調用localizedInformations的實例時,您的工具會嘗試從數據庫收集的數據和您的類定義的結構中構建它。你寫了Set,並且該進程將嘗試實例化一個Set(這是不可能的,因爲它是一個接口),並且該進程不會嘗試猜測你想要使用什麼樣的實際實現。所以你應該爲你的成員指定一個實際的Set實現。

相關問題