可能重复:Android How to make self-relationship in ORMLite?
我对上述问题也有同样的问题,但我找不到答案。
我的表看起来像:
---------------------
CATEGORY
---------------------
id (Integer)
name (Text)
parentId (Integer)
---------------------
我的期望:
@DatabaseTable (tableName = "Category")
public class Category{
@DatabaseField (generatedId = true)
private int id;
@DatabaseField
private String name;
// how to map this one?
private Category parent;
}
请告诉我如何映射亲子关系?我想像这样使用Category
:
Category parent = new Category();
parent.name = "parent";
Category child = new Category();
child.setParent(parent);
另一件事:如何让Dao的所有孩子都参加?我是否必须使用Sql查询?
提前致谢。
答案 0 :(得分:0)
没有测试过,我不确定是否会有任何错误,但您可以使用:
@DatabaseField(canBeNull = true, foreign = true)
private Category parent;
如果某个类别是没有父母的顶级类别,请检查canBeNull = true
。
和
@ForeignCollectionField
private Collection<Category> childs;
试试这个。