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