Встречается на собеседованиях • сегодня
Как сделать ограничение на нескольких столбцах
В SQL можно создать ограничение (constraint), которое охватывает несколько столбцов, используя составной UNIQUE или PRIMARY KEY. В Java при работе с JPA/Hibernate это делается через аннотации.
Пример с JPA:
java
@Entity
@Table(
name = "users",
uniqueConstraints = {
@UniqueConstraint(columnNames = {"email", "phone"})
}
)
public class User {
@Id
@GeneratedValue
private Long id;
private String email;
private String phone;
// другие поля
}Для проверки в коде:
java
if (userRepository.existsByEmailAndPhone(user.getEmail(), user.getPhone())) {
throw new ConstraintViolationException("User with this email and phone already exists");
}В чистом SQL:
sql
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255),
phone VARCHAR(20),
CONSTRAINT unique_email_phone UNIQUE (email, phone)
);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы