【问题标题】:Android Studio: How do i let the room database autogenerate ID for records?Android Studio:如何让房间数据库为记录自动生成 ID?
【发布时间】:2018-10-21 06:06:00
【问题描述】:

我将这个作为我想让 Room 自动生成 ID 的类。

@Entity(tableName = "mitglieder_table")
public class Mitglieder {

    @PrimaryKey(autoGenerate = true)
    private int id;

    @ColumnInfo(name = "Vorname")
    private String vorname;

    @ColumnInfo(name = "Nachname")
    private String nachname;

    public String getVorname() {
        return vorname;
    }

    public void setVorname(String vorname) {
        this.vorname = vorname;
    }

    public String getNachname() {
        return nachname;
    }

    public void setNachname(String nachname) {
        this.nachname = nachname;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Mitglieder(String vorname, String nachname) {
        this.vorname = vorname;
        this.nachname = nachname;
    }
}

私有 int id 仅用于 getter 和 setter。

这已经足以自动生成 ID 还是我必须在其他课程中提及它?我必须在构造函数中包含 id 吗?

感谢大家的帮助。

【问题讨论】:

    标签: android-studio auto-generate


    【解决方案1】:

    这就够了,ID 将自动生成,您不必将其包含在构造函数中。如果将来你想使用任何其他构造函数,你可以声明它并用@Ignore注解它,Room 会忽略它。

    【讨论】:

    • 我什至需要 ID 的 getter 和 setter 吗?
    • @LordGash 我不确定,但请尝试删除它们,如果编译没有错误,则插入一个项目,然后查询您插入的项目的 ID,看看自动生成是否仍然有效。
    • 我尝试在没有 getter 和 setter 的情况下进行编译 - 它不起作用,因此 getter 和 setter 是必需的。你能帮我解决这个问题吗? stackoverflow.com/questions/50295693/…
    • @LordGash 完美!很高兴知道。我会尝试:)
    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 2014-01-27
    • 2021-11-26
    • 2020-05-06
    • 1970-01-01
    • 2023-01-31
    • 2021-10-26
    • 1970-01-01
    相关资源
    最近更新 更多