没有主键的DBFlow模型

时间:2015-11-17 11:08:12

标签: android orm

当我尝试使用没有主键的模型时,我得到了

Error:Table SCHEDULE_ITEM needs to define at least one primary key

是否可以在没有@PrimaryKey字段的情况下编写dbflow模型?

型号:

@Table(databaseName = AppDatabase.NAME, tableName = "SCHEDULE_ITEM")
public class ScheduleItem extends BaseModel implements Serializable{

    @Column(name = "ITEM_TYPE")
    private Integer itemType;
    @Column(name = "INTERNAL_ID")
    private String internalId;
    @Column(name = "DATE")
    private String date;
    @Column(name = "TIME")
    private String time;

    //geters and seters
}

1 个答案:

答案 0 :(得分:0)

不,我最近发现了奇怪的错误如下,说它找不到那些“$ Table”类,但实际上它们已经构建并且在那里。

我评论并取消注释每个新的java文件。最终我发现这是因为在一个DBFlow模型类中没有“@PrimaryKey”。

因此,您必须为您的DBFlow模型类定义血腥的“@ PrimaryKey”(并且不要忘记扩展BaseModel )。

另一个重要但很难找到的事情是,不要在两个模型类中为@Table注释定义相同的名称。对于我的例子,我在我的新类“ClientEntity”中给了 @Table(name =“ClientMode”,但在现有的ClientMode类中,已经有一行 @Table(名称) =“ClientMode”

关于上述问题,compliler无法向您提供任何有用的提示或错误信息。

PS:DBFlow版本3.0.0-beta

/Users/XXX/code_projects/###/src/main/java/com/XXXXX.java:9: error: cannot find symbol
import com.XXX.databasemodel.XXX$Table