Sobes.tech
Back to questions
Junior — Middle
68

Могу ли я объяснить значение и использование PrimaryKey в библиотеке Room для Android?

Companies where asked
X5 DigitalX5 Digital

Answer from AI

sobes.tech AI

В библиотеке Room для Android аннотация @PrimaryKey используется для обозначения поля в сущности (Entity), которое является уникальным идентификатором записи в базе данных.

Значение PrimaryKey:

  • Обеспечивает уникальность каждой записи в таблице.
  • Позволяет Room эффективно находить, обновлять и удалять конкретные записи.
  • Может быть автогенерируемым (с помощью параметра autoGenerate = true), что удобно для создания уникальных идентификаторов автоматически.

Пример использования:

@Entity
data class User(
    @PrimaryKey(autoGenerate = true) val id: Int = 0,
    val name: String,
    val age: Int
)

В этом примере поле id является первичным ключом, который Room будет автоматически увеличивать при добавлении новых пользователей.

Использование PrimaryKey обязательно для каждой сущности, чтобы Room мог правильно управлять данными.