Android Studio. Как разрешить базе данных комнаты автоматически генерировать идентификатор для записей? - PullRequest
0 голосов
/ 11 мая 2018

Это класс, в котором я хочу, чтобы 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 просто используется для получения и установки.

Этого уже достаточно для автоматической генерации идентификатора или я должен упомянуть его в других классах? Нужно ли включать идентификатор в конструктор?

Спасибо, ребята, за вашу помощь.

1 Ответ

0 голосов
/ 11 мая 2018

Этого достаточно, идентификатор будет сгенерирован автоматически, вам не нужно включать его в конструктор. Если в будущем вы захотите использовать любой другой конструктор, вы можете объявить его и аннотировать его с помощью @Ignore, и Room его проигнорирует.

...