私のプロジェクトの1つにgreenDAO 3.1が使用されています。 UUID
に私のIDが必要なので、私はそれをByteArray
として保存することに決めました。今問題はupdate
またはupdateInTx
メソッドを使用してエンティティを更新できないため、insertOrReplace
またはinsertOrReplaceInTx
メソッドを使用する必要があります。greenDAOアップデートとupdateInTxが動作しない
何が起こっているのか誰に教えてもらえますか?update
メソッドを使用して更新できないのはなぜですか?
update
メソッドの代わりにinsertOrReplace
メソッドを使用することに欠点はありますか?
これは私のEntity
のスキーマコードです:
Entity book = schema.addEntity("Book");
book.addByteArrayProperty("id").columnName("_id").primaryKey();
book.addStringProperty("title");
book.addByteProperty("edition");
book.addStringProperty("authors");
book.addStringProperty("desc");
book.addStringProperty("pic");
そして、ここに私の更新コードは次のとおりです。
BookDao bookDao = daoSession.getBookDao();
List<Book> books = bookDao.loadAll();
for (Book book : books)
book.setDesc("It doesn't really matter!");
bookDao.updateInTx(books); //This isn't working