我正在尝试使用GreenDAO,我发现它的工作方式很不错。我不喜欢编写SQL代码,所以这会帮助我避免它 ;)
但是,我认为它确实是基于“sql”思维方式建立的。不确定这是否是一件坏事(知道事物的工作原理),但我更愿意说:这是我的对象!存储它!但我还没有找到适合此用途的东西...
但好吧,我正在做以下的事情:我有一个对象,比如一个书架。我在书架上放了一些书。
这看起来像是这样的:
然后执行以下操作:
没错吧?
但是,我认为它确实是基于“sql”思维方式建立的。不确定这是否是一件坏事(知道事物的工作原理),但我更愿意说:这是我的对象!存储它!但我还没有找到适合此用途的东西...
但好吧,我正在做以下的事情:我有一个对象,比如一个书架。我在书架上放了一些书。
这看起来像是这样的:
class BookShelve {
List<Book> books;
void add(Book b) {
books.add(b);
}
}
BookShelve bs = new BookShelve();
Book b1 = new Book();
Book b2 = new Book();
Book b3 = new Book();
bs.add(b1);
bs.add(b2);
bs.add(b3);
好的,现在我想使用GreenDAO存储这个数据。我需要使用'addToMany'吗?所以:
Property bookDataProperty = bookData.addLongProperty("bookShelve").getProperty();
ToMany books = BookShelve.addToMany(bookData, bookDataProperty);
books.setName("Books");
然后执行以下操作:
bs.getBooks()
如何获取它们?还是有更好的方法吗?
我认为应该这样做,但我还没有完全被说服。
ps:上面的代码可能有错别字,这只是我在这里写下的,还没有编译它 :)
编辑: 在我给出“答案”之后,出现了以下情况:
因此,要将书籍添加到书架中,我需要:
b1.setBookShelve(bs.getId());
daoSession.insert(b1);
没错吧?