Sobes.tech
Назад к вопросам
Junior — Middle
60

Каким образом создается составной первичный ключ в Hibernate?

Компании, где спрашивали
Северсталь-ИфокомСеверсталь-Ифоком

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

sobes.tech AI

В Hibernate составной первичный ключ создается с помощью аннотации @Embeddable для класса, описывающего ключ, и @EmbeddedId в сущности.

Пример:

@Embeddable
public class OrderId implements Serializable {
    private Long orderId;
    private Long productId;

    // конструкторы, геттеры, сеттеры, equals и hashCode
}

@Entity
public class Order {
    @EmbeddedId
    private OrderId id;

    private int quantity;

    // остальные поля, геттеры, сеттеры
}

Таким образом, класс с составным ключом должен быть сериализуемым и переопределять equals и hashCode. В сущности используется поле с аннотацией @EmbeddedId.