Sobes.tech
Назад к вопросам
Senior
6

Расскажи про аннотацию @ElementCollection.

Компании, где спрашивали
Позитив Технолоджис

Ответ от нейросети

sobes.tech AI

Аннотация @ElementCollection в Java Persistence API (JPA) используется для отображения коллекций простых или встраиваемых типов, которые не являются отдельными сущностями. Она позволяет хранить коллекцию значений (например, список строк или встраиваемых объектов) в отдельной таблице, связанной с основной сущностью.

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

@Entity
public class User {
    @Id
    private Long id;

    @ElementCollection
    @CollectionTable(name = "user_emails", joinColumns = @JoinColumn(name = "user_id"))
    @Column(name = "email")
    private Set<String> emails = new HashSet<>();

    // геттеры и сеттеры
}

В этом примере у сущности User есть коллекция email-адресов, которая хранится в отдельной таблице user_emails. @ElementCollection указывает, что это не отдельная сущность, а коллекция встроенных элементов.