2013-08-26 10 views
5

Ich versuche, die Arraylist der Klassenobjekte in der Ormlite-Datenbank zu speichern, aber es gibt den Fehler java.lang.IllegalArgumentException: Keine Felder haben eine DatabaseField-Annotation in der Klasse java.util .ArrayListSo speichern Sie die Arraylist in Ormlite-Datenbank

mein Code

@DatabaseTable 
public class ManageModelDetails { 

@DatabaseField(generatedId = true) 
private int id; 

@DatabaseField(foreign = true, foreignAutoRefresh = true) 
private ArrayList<ModelDetails> listModelDetails; 

// =============================================== 
public ManageModelDetails() { 
    super(); 
} 

// =============================================== 

public ManageModelDetails(int id, ArrayList<ModelDetails> listModelDetails) { 
    super(); 
    this.id = id; 
    this.listModelDetails = listModelDetails; 
} 

// =============================================== 

public void setId(int id) { 
    this.id = id; 
} 

public int getId() { 
    return id; 
} 

public void setModelList(ArrayList<ModelDetails> listModelDetails) { 
    this.listModelDetails = listModelDetails; 
} 

public ArrayList<ModelDetails> getModelList() { 
    return listModelDetails; 
} 

} 

Antwort

6

ich glaube, Sie Foreign Kollektionen verwenden müssen. Werfen Sie einen Blick hier:

+0

das wahr ist, wenn die Reihenfolge der Liste keine Rolle spielt (die Frage erwähnt eine Arraylist). Wenn dies der Fall ist, sollte die Arraylist in einer benutzerdefinierten Weise gespeichert werden. – Christine

2

Wenn Sie eine Arraylist von Objekten speichern möchten, ist der einfachste Weg, um ORMLite dies:

@DatabaseField(dataType = DataType.SERIALIZABLE) 
private SerializedList<MyObject> myObjects; 

und bekommen meine Liste der Objekte:

public List<MyObject> getMyObjects() { 
    return myObjects; 
} 

und hier ist SerializedList:

public class SerializedList<E> extends ArrayList<E> implements Serializable { 
} 
+0

Was ist SerializedList? Aus welcher Bibliothek? – NickUnuchek

+0

eigentlich war das nur eine ArrayList, die Serializable implementiert, siehe aktualisierte Antwort –

+0

ArrayList ist bereits serialisierbar – NickUnuchek

Verwandte Themen