26. Для чего нужны аннотации @Embedded и @Embeddable?

26. Для чего нужны аннотации @Embedded и @Embeddable?


@Embeddable

Аннотация JPA, размещается над классом для указания того, что класс является встраиваемым в другие классы и будет внедрен другими сущностями, то есть поля этого встраиваемого класса будут добавляться к полям других сущностей и будут представлять столбцы в таблице этой сущности. Так, во встраиваемый класс мы можем выделить общие поля для разных сущностей не создавая для него таблицу.

Встраиваемый класс сам не является сущностью.

@Embeddable

public class ContactPerson {

    private String firstName;

   private String lastName;

   private String phone;

   // standard getters, setters

}

@Embedded

Аннотация JPA, используется для размещения над полем в классе-сущности для указания того, что мы внедряем встраиваемый класс.

@Entity

public class Company {

    @Id

   @GeneratedValue

   private Integer id;

    private String name;

    private String address;

    private String phone;

    @Embedded

   private ContactPerson contactPerson;

    // standard getters, setters

}


Предыдущий вопрос: 25. Для чего нужна аннотация @Cacheable?

Следующий вопрос: 27.Как смаппить составной ключ?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне


Report Page