質問:ORMLite DAOを使用して、データベース内の多数のレコードを一度に更新するにはどうすればよいですか?
あなたが行っている更新内容は少し異なります。確かに、UpdateBuilder
を使ってオブジェクトを卸売で更新することができます。あなたは生のSQLをこの方法を使用して行うだろうアップデートの大きな割合を達成することができるはず
// update hasDog boolean to true if dogC > 0
updateBuilder.updateColumnExpression("hasDog", "dogC > 0");
:
UpdateBuilder<Account, String> updateBuilder = accountDao.updateBuilder();
// update the password to be "none"
updateBuilder.updateColumnValue("password", "none");
// only update the rows where password is null
updateBuilder.where().isNull(Account.PASSWORD_FIELD_NAME);
updateBuilder.update();
かのようなもの。
エンティティごとに更新する必要がある場合は、それぞれに対してdao.update(...)
を実行する必要があります。私がしなければならないことは、アップデートをより速くするためにトランザクションでそれを行うことです。 this answerを参照してください。
あなたの質問は何ですか? – GhostCat