ORMLite android中的自我关系

时间:2013-07-28 05:13:51

标签: java android ormlite

可能重复: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查询?
提前致谢。

1 个答案:

答案 0 :(得分:0)

没有测试过,我不确定是否会有任何错误,但您可以使用:

@DatabaseField(canBeNull = true, foreign = true)
private Category parent;

如果某个类别是没有父母的顶级类别,请检查canBeNull = true

@ForeignCollectionField
private Collection<Category> childs;

试试这个。