Sobes.tech
Junior — Middle
90

Kako se kreira složeni primarni ključ u Hibernate-u?

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

Одговор од АИ

sobes.tech АИ

В 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.