Я играю с GreenDAO, и мне кажется, мне нравится, как это работает. Я не люблю писать код SQL, поэтому это поможет мне избежать этого;)GreenDAO: список объектов в другом объекте
Но все же, я думаю, что это действительно «основанное на 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()
, чтобы получить их? Или есть лучший способ?
Я думаю, что так должно быть сделано, но я еще не полностью убежден.
пс: может быть опечатка В коде выше, я написал здесь, не скомпилирован :)
Edit: Это произошло после того как я дал «ответ» проверить:
так, чтобы добавить книги на полку, мне нужно:
b1.setBookShelve(bs.getId());
daoSession.insert(b1);
правильно?
Спасибо! Предоставление вам «принятого ответа». Как и в моем редактировании, действительно, мне нужно установить идентификатор книжной полки в книгу, а затем мне не нужен список книг. Спасибо за подробный пример. btw: OMG, я написал «книжную полку» вместо «книжной полки»: x – Boy