DAO如何與領域一起使用?因為當我在活動中嘗試設置模型類的成員時,會遇到異常:java.lang.IllegalStateException:只能在事務內部完成更改領域數據。我知道使用可以realm.executeTransaction解決問題,但是我的活動中的代碼不再與數據庫無關,因為它將使用特定于低級數據庫通信的代碼。因此,如果以后我想更改數據庫,則重構將花費大量時間和工作...此外,我將在所有活動中都要處理對Realm.getDefaultInstance();這是我的活動代碼示例protected void onCreate(Bundle savedInstanceState){ mBook = mBookDaoImpl.getBookById(bookId);}// Later in the codeprivate void saveBook(String name){ mBook.setName(name);}這是我的模特班public class Book extends RealmObject{ @Required @PrimaryKey private String id; private String name; public Book() { } public Book(String id, String name) { this.id = id; this.name = name; } // getter setter methods}這是我的DAO界面:public interface BookDao{ List<Book> getAllBooks(); Book getBookByIsbn(int isbn); void saveBook(Book book); void deleteBook(Book book);}
添加回答
舉報
0/150
提交
取消
