Sobes.tech
Back to questions
Junior — Middle
61

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

Companies where asked
Северсталь-ИфокомСеверсталь-Ифоком

Answer from AI

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.