Bestehende Objekte in SugarORM

Ich habe eine Buchklasse:

public class Book extends SugarRecord {
    private String mBookName;
    private String mAuthorName;
    private List<Page> mPageList;

    public Book() {

    }

    public Book(String bookname, String authorName) {
        mBookName = bookname;
        mAuthorName = authorName;
        mPageList = new ArrayList<>();
    }

    public String getAuthorName() {
        return mAuthorName;
    }

    public void setAuthorName(String authorName) {
        mAuthorName = authorName;
    }

    public String getBookName() {
        return mBookName;
    }

    public void setBookName(String bookName) {
        mBookName = bookName;
    }

    public void addPage(Page page) {
        mPageList.add(page);
    }

}

und die Seitenklasse:

public class Page extends SugarRecord {
    private String mText;

    public Page() {

    }
    public Page(String text) {
        mText = text;
    }

    public String getText() {
        return mText;
    }

    public void setText(String text) {
        mText = text;
    }
}

Ich teste es mit diesem:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Book book = new Book("Some Book Title", "John Doe");

        Page page1 = new Page("Once upon a time there was a very lonely bunny who wanted some friends.");
        Page page2 = new Page("So he found some friends, and everyone was happy.");
        Page page3 = new Page("The end!");

        book.addPage(page1);
        book.addPage(page2);
        book.addPage(page3);

        book.save();
    }
}

Aber es funktioniert nicht wie erwartet. Es wird versucht, @ zu machmPageList eine eigene Spalte mit diesem .schema:

CREATE TABLE BOOK ( ID INTEGER PRIMARY KEY AUTOINCREMENT , M_AUTHOR_NAME TEXT, M_BOOK_NAME TEXT, M_PAGE_LIST  );

Was ich wirklich möchte, ist, die Liste nicht als eigene Spalte zu behandeln, sondern die Seiten in der PAGE-Tabelle zu speichern, mit zusätzlichen IDs, die auf diese Book-Klasse verweisen (was ich also erwarte, ist so etwas wieID, BOOK_ID, M_TEXT). Kurz gesagt, Persistenzoperationen, die verschachtelte untergeordnete Objekte durchlaufen.

Kann das in SugarORM gemacht werden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage