OrmLite多余的字段创建

时间:2012-08-01 08:34:14

标签: android field ormlite

我使用该类创建表:

public class Category {
    public final static String CATEGORY_TITLE_FIELD_NAME  = "title";
    @SerializedName("id")
    @DatabaseField(id = true)
    int id;

    @SerializedName("title")
    @DatabaseField(dataType = DataType.STRING, columnName = CATEGORY_TITLE_FIELD_NAME)
    String title;

    // need for ORMlite
    public Category() {}

    public Category (int id, String title) {
        this.id = id;
        this.title = title;
    }
}

并收到如下消息:

  

08-01 11:28:17.269:I / TableUtils(26960):执行的create table语句更改了1行:CREATE TABLE levelstitle VARCHAR,id INTEGER,PRIMARY KEY(id))

在我的桌子上有3个字段吗?或者有2个字段 - ' title'并且' id' ...如果有3个字段告诉我为什么请...

3 个答案:

答案 0 :(得分:0)

  

在我的桌子上有3个字段吗?

你的表有两列,你认为有哪三列? 如果你分析sql语句:

  

CREATE TABLE级别(标题VARCHAR,id INTEGER,PRIMARY KEY(id))

您会发现有两列titleid(也是主键)。

如果您需要其他答案,请重新提问。

答案 1 :(得分:0)

  

在我的桌子上有3个字段吗?或者有2个字段 - 'title'和'id'...如果有3个字段告诉我为什么请...

我假设你在谈论生成的SQL:

  

CREATE TABLE级别(标题VARCHAR,id INTEGER,PRIMARY KEY(id))

那里定义了 3个字段。有两个字段(titleid)和一个PRIMARY KEY标识适用于Sqlite。 Sqlite使用PRIMARY KEY SQL来定义应将哪个字段编入索引作为行的标识符。有关详细信息,请参阅Sqlite documentation

答案 2 :(得分:0)

当我收到这样的消息时

 08-01 11:28:17.269: I/TableUtils(26960): executed create table statement changed 1 rows: CREATE TABLE levels (title VARCHAR , id INTEGER , PRIMARY KEY (id) )

,它意味着创建了2列,而不是3.感谢Gray