2016-07-23 2 views
0

JavaからMongo DBにレコードを挿入しようとすると、静的フィールドを更新できません。Javaからmongo dbへの静的フィールドを更新できません

Class1 

public class User{ 

private String userName; 
    private String id; 
private static List<Address> addresses; 
    public static List<Address> getAddresses() { 
    return addresses; 
} 

public static void setAddresses(List<Addresses> addresses) { 
    Class1.addresses = addresses; 
} 

//getter and setters 

} 

Class2 

public class Address{ 

    private String street, 
private String city 
} 

    Update.java 

User user = new User(); 
List<Address> add = new ArrayList<Address>(); 
add.setStreet("CrossWave Street"); 
add.setCity("Lucia"); 
user.setUserName("Roy"); 
user.setId("100"); 
User .setAddresses(add); 
db.save(user,Class1.class) 

このプロセスの後、私はデータベース内のアドレスフィールドを見ることができません。私はいくつかの問題は静的フィールドがあることを知っていますが、私は混乱しています

答えて

2

静的フィールドはクラスレベルにあります。 MongoDBドキュメントは、オブジェクトレベルのフィールドでのみ動作します。なぜ静的フィールドを使用する必要がありますか?

+0

オブジェクトフィールドを使用するときに別の例外が発生するので、static.httpsを試してみてください://stackoverflow.com/questions/38519014/org-springframework-data-mapping-model-mappinginstantiationexception-with-mongo – Karthik

0

静的フィールドは、そのクラスのインスタンスに属さないため、オブジェクトに沿って保存することはできないようです。

+0

他のリンク。 – Karthik

+0

静的フィールドを持たないオブジェクトを保存しようとしましたか? –

+0

うん、うまくいきます。 – Karthik

関連する問題