Встречается на собеседованиях • сегодня

Как удалить клиента, связанного с другой таблицей через Foreign Key

При удалении клиента с Foreign Key связями нужно учитывать ограничения целостности данных. Есть несколько подходов: 1. **Каскадное удаление** (если логика приложения позволяет): ```java @Entity public class Client { @OneToMany(mappedBy = "client", cascade = CascadeType.REMOVE) private List orders; } ``` 2. **Сначала удалить зависимые записи**: ```java // Удаляем все заказы клиента orderRepository.deleteByClientId(clientId); // Затем удаляем клиента clientRepository.deleteById(clientId); ``` 3. **Изменить стратегию через аннотацию**: ```java @OnDelete(action = OnDeleteAction.CASCADE) private Client client; ``` 4. **Использовать soft delete** (рекомендуется): ```java @Entity public class Client { @Column(name = "is_deleted") private boolean isDeleted; } ``` Выбор метода зависит от бизнес-логики. Каскадное удаление может быть опасным, поэтому чаще используют soft delete или явное удаление зависимостей.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы