当我尝试使用没有主键的模型时,我得到了
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
}
答案 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