Back to questions
Junior — Middle
62
Какова роль аннотации Embedded в контексте Spring и в каких ситуациях её используют?
Answer from AI
sobes.tech AI
Аннотация @Embedded в Spring (точнее, в JPA, которая часто используется вместе со Spring Data) применяется для встраивания одного класса в другой как составной части сущности. Это позволяет включать в сущность набор полей из другого класса без создания отдельной таблицы в базе данных.
Например, если у вас есть класс Address с полями street, city, zipcode, и вы хотите включить его в сущность User, то можно использовать @Embedded для поля типа Address внутри User.
Пример:
@Embeddable
public class Address {
private String street;
private String city;
private String zipcode;
// геттеры и сеттеры
}
@Entity
public class User {
@Id
private Long id;
private String name;
@Embedded
private Address address;
// геттеры и сеттеры
}
Ситуации использования:
- Когда нужно логически сгруппировать несколько полей в отдельный класс для удобства и повторного использования.
- Когда не требуется отдельная таблица для этих данных, а достаточно хранить их в одной таблице с основной сущностью.
Таким образом, @Embedded помогает структурировать данные и улучшить читаемость модели без усложнения схемы базы данных.