0

Greendao が ToMany ジョイナー dao のインポートを生成しない。これどうやってするの?Book と BookStore を作成していて、Custom Joiner で Book Store の本のリストを保存しようとしています。ビルド後、生成されたジョイナー JoinBookStoreWithBookDao が BookStoreDao にインポートされませんが、存在します。

スクリーンショット

ソース

Book.java

package com.example.valery.stackoverflowsample.dao;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;

@Entity
public class Book {

   @Id
   private long id;

   public Book() {
   }
}

BookStore.java

package com.example.valery.stackoverflowsample.dao;

import com.example.valery.stackoverflowsample.dao.joiner.DaoSession;
import com.example.valery.stackoverflowsample.dao.joiner.JoinBookStoreWithBook;

import org.greenrobot.greendao.DaoException;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.JoinEntity;
import org.greenrobot.greendao.annotation.ToMany;

import java.util.ArrayList;
import java.util.List;


@Entity
public class BookStore {
    @Id
    private long id;

    @ToMany
    @JoinEntity(
            entity = JoinBookStoreWithBook.class,
            sourceProperty = "bookStoreId",
            targetProperty = "bookId"
    )
    private List<Book> mBooks;
}

JoinBookStoreWithBook.java

package com.example.valery.stackoverflowsample.dao.joiner;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;

@Entity
public class JoinBookStoreWithBook {

    @Id
    private long id;

    private long bookId;
    private long bookStoreId;
}
4

1 に答える 1

1

理由が見つかりました。ジョイナーは「親」のパッケージ内にある必要があります。彼は別のパッケージに入れることはできません。

于 2016-11-04T10:02:01.930 に答える