Greendao 无法生成 join dao 导入(ToMany 关系)
Greendao can't generate join dao import (ToMany relation)
Greendao 没有生成 ToMany joiner dao 的导入。我怎样才能做到这一点?
我正在创建 Book 和 BookStore,尝试通过 Custom joiner 保存书店中的书籍列表。构建后尝试生成的 JoinBookStoreWithBookDao 未在 BookStoreDao 中导入但存在。
Book.java
package com.example.valery.Whosebugsample.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.Whosebugsample.dao;
import com.example.valery.Whosebugsample.dao.joiner.DaoSession;
import com.example.valery.Whosebugsample.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.Whosebugsample.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;
}
我找到原因了。 Joiner 应该在 "parent" 的包内,他不能在另一个包内。
Greendao 没有生成 ToMany joiner dao 的导入。我怎样才能做到这一点? 我正在创建 Book 和 BookStore,尝试通过 Custom joiner 保存书店中的书籍列表。构建后尝试生成的 JoinBookStoreWithBookDao 未在 BookStoreDao 中导入但存在。
Book.java
package com.example.valery.Whosebugsample.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.Whosebugsample.dao;
import com.example.valery.Whosebugsample.dao.joiner.DaoSession;
import com.example.valery.Whosebugsample.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.Whosebugsample.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;
}
我找到原因了。 Joiner 应该在 "parent" 的包内,他不能在另一个包内。