在我的项目中,我缓存了外部注释并手动执行了所有插入和删除级联操作,但我现在正尝试更新我的代码以使用新的 foreignAutoCreate 注释,我注意到了一些问题。第一个是 DatabaseFieldConfigLoader 不会将此字段添加到生成的配置文件中。该类的 4.29 版的第 212 行似乎缺少适当的代码。
即使在手动将定义添加到配置文件后,加载配置文件时似乎也没有正确设置。在 MappedCreate 类的第 102 行,tableInfo.isForeignAutoCreate() 为确实设置了注释的类返回 false
作为引用,这是我声明类(class)成员的方式:
@DatabaseFieldSimple
@DatabaseFieldForeign(foreign = true, foreignAutoRefresh=true, foreignAutoCreate=true)
public Response response;
我的子类 Response 有以下 id 字段
@DatabaseFieldSimple
@DatabaseFieldId(generatedId = true)
public int id;
有什么想法吗?
最佳答案
不幸的是,foreignAutoRefresh
字段(以及 version
)没有使用 DatabaseFieldConfigLoader
正确配置——既用于读取也用于写入类配置。我打开了this bug并将其固定在后备箱中。修复已添加到 ORMLite在 4.30 版中。
我已经在@DatabaseField 的末尾添加了注释,以[希望]在将来避免这种情况。
抱歉这个错误。
关于android - foreignAutoCreate 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008152/