我是Android上的新手。使用DBFlow
在我的应用程序上映射数据库时遇到了麻烦。
首先,我将讨论我的数据库架构。
集合(
msg_key
INTEGER PRIMARY KEY,message_id
INTEGER,...)消息(
message_id
:INTEGER PRIMARY KEY,...)
我的Java代码在同一个包上,
Message
上课:
@Table(database = MyDatabase.class, name = Constants.TBL_MESSAGE, allFields = true)
public class Message extends BaseModel {
@PrimaryKey
int message_id;
String description;
}
Collection
上课:
@Table(database = MyDatabase.class, name = Constants.TBL_COLLECTION, allFields = true)
public class Collection extends BaseModel {
@Column(setterName = "setMsg_key", getterName = "getMsg_key")
@PrimaryKey
private int msg_key;
@Column(setterName = "setMessage_id", getterName = "getMessage_id")
@ForeignKey(references = {
@ForeignKeyReference(columnType = Integer.class,
columnName = Constants.TBL_COL_MSG,
foreignKeyColumnName = Constants.TBL_MSG_ID)}
, saveForeignKeyModel = false)
private Message message_id;
public void setMessage_id(Message message_id) {
this.message_id = message_id;
}
public void setMsg_key(int msg_key) {
this.msg_key = msg_key;
}
public int getMsg_key() {
return msg_key;
}
public Message getMessage_id() {
return message_id;
}
}
作为figure out how much space you have,
所有字段必须是public或package private作为_Adapter类 需要访问它们。注意:包私有字段不必在 与DBFlow相同的包将生成必要的访问方法 去找他们。
或仅在指定get {Name}()和时使用私有 为名为{name}的列设置{Name}(columnType)方法。这可以 构造
但是当我构建应用程序时,android studio会抛出错误
错误:无法比较的类型:int和
<null>
然后我通过DBFlow检查generated code
并实现它的比较int与null。
我不确定它的DBFlow
错误或我在某处丢失/错误的配置?
请给我你的建议/解决方案。
谢谢!
=============更新=============
我正在使用DBFlow 3.0.0 beta3