我将 greenDAO 3.1 用于我的一个项目。因为我需要我的 id,所以UUID我决定将它存储为ByteArray. 现在的问题是我无法使用 or 方法更新我的实体update,updateInTx我必须使用insertOrReplaceorinsertOrReplaceInTx方法。
谁能告诉我发生了什么,为什么我不能使用update方法更新?
使用insertOrReplace方法而不是update方法有什么缺点吗?
这是我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