Back to questions
СБЕР
Junior — Middle
52
Может ли одна часть составного первичного ключа иметь значение null?
Companies where asked
Answer from AI
sobes.tech AI
В составном первичном ключе (composite primary key) в базе данных ни одна из частей не может иметь значение null. Это связано с тем, что первичный ключ должен однозначно идентифицировать запись, а null означает отсутствие значения, что нарушает уникальность и целостность данных.
В Java, если вы используете составной ключ, например, в JPA, все поля, входящие в составной ключ, должны быть не null.
Пример составного ключа в JPA:
@Embeddable
public class OrderItemId implements Serializable {
private Long orderId;
private Long productId;
// геттеры, сеттеры, equals и hashCode
}
@Entity
public class OrderItem {
@EmbeddedId
private OrderItemId id;
// другие поля
}
Значения orderId и productId должны быть заполнены и не могут быть null.