2015-10-22 1 views
0

J'utilise Ormlite plugin sur Android pour gérer ma base de données, j'ai mis un champ de classe avec foreignAutoRefresh sur true car c'est le comportement par défaut (normalement je veux que tous les objets soient chargés automatiquement).Ormlite: Comment modifier la valeur d'annotation autorefresh par programme?

@DatabaseTable(tableName = "MyClass") 
public class MyClass { 

    @DatabaseField(columnName = "field", 
        foreign = true, foreignAutoRefresh = true) 
    private MyObject field; 

    ... 
} 

Mais dans une situation rare spécifique que je veux charger une instance de MyClass sans charge automatiquement le champ Objet (réglage de la foreignAutoRefresh false temporellement)

Comment puis-je faire cela?

public class DBHelper extends OrmLiteSqliteOpenHelper { 

    @Override 
    public void onUpgrade(...) { 

     // ... here I want to set MyClass.field.autoreRefresh to false. 

     List<MyClass> myClass = myClassDao.queryForAll(); 

     ... do some of work here ... 

     // ... set again the autoRefresh field value to true. 
    } 
} 

Merci beaucoup!

Répondre