我有麻烦通过使用ORM精简版,因为我更新的数据是不是在数据库中直接受影响android系统中更新数据时。 更新过程后,我从数据库中查询数据,但我得到的旧数据,这是和以前一样我更新。
所以,我通过使用刷新(对象)更新过程后,这个问题是OK(我可以从数据访问下一个查询最新更新的数据)刷新每个更新的对象解决了这个问题。
但我不知道是不是最好的办法还是没有? 如果有其他办法来解决这个问题,请你告诉我? 谢谢。
运行使用UpdateBuilder批量更新。
try {
Set<String> ids = accountIdSet;
UpdateBuilder<Account, Long> updateBuilder = account.updateBuilder();
updateBuilder.where().in(Account.ID,ids);
updateBuilder.updateColumnValue(Account.REGISTERED, true);
return updateBuilder.update();
} catch (SQLException e) { }
return 0;
更新过程后,我通过以下线路做从数据库中查询数据。
try {
Set<String> ids = accountIdSet;
List<Account> result = Account.queryBuilder().where().in(Account.ID, ids).query();
if (result!=null) {
for (Account acc : result) {
Log.i(acc.getId() + ", registered = " + acc.getRegistered());
}
return result;
}
} catch (SQLException e) { }
return null;
当时我得到了数据的旧值。 例如 -
1, registered = false
2, registered = false
3, registered = false
结果应该是
1, registered = true
2, registered = true
3, registered = true