Ormlite:如何以编程方式更改自动刷新注释值



我在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注释字符串参数

最新更新