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