Sobes.tech
Back to questions
Junior — Middle
79

Могли бы вы объяснить, что означает аннотация Embedded в библиотеке Room?

Companies where asked
ИннотехИннотех
Dion

Answer from AI

sobes.tech AI

Аннотация @Embedded в библиотеке Room используется для включения полей одного объекта в другую сущность базы данных как часть её колонок. Это позволяет избежать создания отдельной таблицы для вложенного объекта и хранить его поля непосредственно в таблице родительской сущности.

Например, если у вас есть класс Address с полями street и city, и вы хотите включить его в сущность User, то с помощью @Embedded поля street и city будут добавлены как колонки в таблицу User.

data class Address(
    val street: String,
    val city: String
)

@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String,
    @Embedded val address: Address
)

В результате таблица User будет содержать колонки: id, name, street, city. Это удобно для нормализации данных и упрощения запросов.