我在Android上使用Ormlite插件来管理我的数据库,我设置了一个带有foreignAutoRefresh的类字段,因为这是默认行为(通常我想自动加载所有对象)。
@DatabaseTable(tableName = "MyClass")
public class MyClass {
@DatabaseField(columnName = "field",
foreign = true, foreignAutoRefresh = true )
private MyObject field;
...
}
但在特定的罕见情况下,我想加载一个MyClass实例而不自动加载Object字段(暂时将foreignAutoRefresh设置为false)
我怎么能这样做?
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.
}
}
非常感谢你!
答案 0 :(得分:0)
您正在寻找一种即时更改Java注释的方法。去看看如何做到这一点: Modify a class definition's annotation string parameter at runtime