3

I am confused on how to declare Foreign Key in DBFlow. In getting started page for relationship for DBFlow (https://github.com/Raizlabs/DBFlow/blob/f2d90db39a4bf5ffcc0f22032ae20d5328b8d3c3/usage2/Relationships.md), it has example of Queen class but not the Ant nor Colony class.

Does anyone have the complete example that contains Queen + Ant + Colony classes?

Thanks

4

1 回答 1

3

这是您想要的示例代码:

父表:

@Table(database = AppDatabase.class)
public class CafeWebContentCategories extends BaseModel {
    @PrimaryKey
    private int id;

    @Column
    private int categoryServerId;

    @PrimaryKey
    @Column
    public int cafeServerId;

    @Column
    private String title;

    @Column
    private boolean isAuto;

    public List<CafeWebChildContentCategories> subContentCategories;

    @OneToMany(methods = {OneToMany.Method.ALL}, variableName = "subContentCategories")
    public List<CafeWebChildContentCategories> getMyChannelSubContentCategories() {
        if (subContentCategories == null || subContentCategories.isEmpty()) {
            subContentCategories = SQLite.select()
                    .from(CafeWebChildContentCategories.class)
                    .where(CafeWebChildContentCategories_Table.parentId.eq(cafeServerId))
                    .queryList();
        }
        return subContentCategories;
    }

    public CafeWebContentCategories() {
    }

    // setters and getters
}

子表:

@Table(database = AppDatabase.class)
public class CafeWebChildContentCategories extends BaseModel {
    @PrimaryKey
    @Column
    public int id;

    @Column
    public int categoryId;

    @Column
    @ForeignKey(tableClass = CafeWebContentCategories.class,
            references = @ForeignKeyReference(columnName = "parentId", foreignKeyColumnName = "cafeServerId"))
    public int parentId;

    @Column
    private String title;

    public CafeWebChildContentCategories() {
    }

    // setters and getters
}

如果您对此有疑问,请问我

于 2017-07-18T08:16:56.527 回答