0

可能重复:Android 如何在 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 获得 Category 的所有子项?我必须使用 Sql 查询吗?
提前致谢。

4

1 回答 1

0

尚未对其进行测试,我不确定是否会出现任何错误,但您可以使用:

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

检查canBeNull = true一个类别是否是没有父母的顶级类别。

@ForeignCollectionField
private Collection<Category> childs;

试试这个。

于 2013-07-28T06:00:53.733 回答