2016-07-27 17 views
0

Kann nicht für das Leben von mir herausfinden, dies heraus. Also in meinem Anfrage Objekt habe ichORMLite ID ist immer Null (hat kein ID-Feld)

@DatabaseField(id = true, columnName = "ID", canBeNull = false, generatedId = true) 
private int entityId; 

Immer, wenn ich mein Einsatz Methode wie folgt tun:

public void insert(T object) throws SQLException { 
    DatabaseConnection connection = objectDao.startThreadConnection(); 
    Savepoint savepoint = null; 
    try { 
     savepoint = connection.setSavePoint(null); 
     objectDao.createOrUpdate(object); 
    } finally { 
     connection.commit(savepoint); 
     objectDao.endThreadConnection(connection); 
    } 
} 

Ich mag dieses

Class class UnsyncTripRequest does not have an id field 

Ich bin nicht sicher immer eine Fehlermeldung erhalten, Warum bekomme ich das von dem, was ich verstehe, sollte die ID automatisch erstellt werden? Ich sehe in OrmLites BaseDaoImpl Klasse gibt es eine extractId Methode, die diese Linie hat:

FieldType idField = tableInfo.getIdField(); 

die immer null ist. Jeder hat einen Einblick, wie ich dieses Problem beheben könnte. Danke

Antwort

0

Sie haben sowohl die Attribute 'id = true' als auch 'generatedId = true' gesetzt. Können Sie bitte "id = true" entfernen und sehen, was passiert?

+0

Ich bekomme immer noch den gleichen Fehler leider – goodgamerguy

+0

'generatedId' bedeutet' ID'. – Gray

+1

Haben Sie ein Assoziationsobjekt? Wie wäre es damit? @ ForeignCollection (id = true) Bitte sehen Sie hier: http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/field/ForeignCollectionField.html – SISLAM

1

FieldType idField = tableInfo.getIdField(); ... Das ist immer Null.

Das Problem scheint Ihre Entität zu sein, nichts mit dem Speicherpunkt zu tun. Irgendwie entspricht die tableInfo, die von der DAO generiert wird, nicht Ihrer Entität. Wenn das entityId Feld in Ihrer Klasse ist, dann vermute ich, dass Ihre ormlite_config.txt Datei nicht aktualisiert wurde.

+0

Hmm seltsam. Ich kann keine Datei ormlite_config.txt in meinem Projekt finden. Das entityId-Feld ist in meiner Klasse, aber das Seltsame ist, dass dies für einen anderen Fall funktioniert – goodgamerguy

+1

Jede Chance, es ist in einer Superklasse @goodgamerguy? – Gray

+0

nah ich sehe es nicht – goodgamerguy