我在Android上使用Ormlite插件来管理我的数据库,我将foreignAutoRefresh设置为true,因为这是默认行为(通常我想让所有对象自动加载)。
@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.
}
}
非常感谢!
您正在寻找一种动态更改java注释的方法。去看看如何做到这一点:在运行时修改类定义's注释字符串参数