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.