ORMLite id生成

时间:2012-11-09 09:28:05

标签: android ormlite

我有这个对象:

public class Set {
    @DatabaseField(columnName = "setID", generatedId = true)
    private int setID;
    @DatabaseField(columnName = "setName")
    private String setName;
}

如果我制作这样的物体:

Set newSet = new Set("name");
setDao.create(newSet);

然后,如果我这样做:

int id = newSet.getID();

我是否会获得set id或者是否应该使用

从数据库中获取整个对象
setDao.queryForEq("setName", "name");

1 个答案:

答案 0 :(得分:10)

所以ORMLite文档非常广泛。如果您查找generated-id in the docs,您会看到以下声明:

  

Boolean该字段是否为自动生成的id字段。默认值为false。只有一个字段可以在类中设置此集合。这告诉数据库为插入的每一行自动生成相应的id。 当使用Dao.create()方法创建具有generated-id的对象时,数据库将为该行生成一个id,该id将由create方法返回并在对象中设置。 < / p>

因此,在您致电setDao.create(newSet)后,newSet对象的setID字段将使用数据库中的ID进行更改。

此外,调用字段setID是一种非常糟糕的模式。我建议你只使用id